zoukankan      html  css  js  c++  java
  • 一起学Blazor WebAssembly 开发(2)

    上篇文章讲了Blazor的两种模式的区别及各自的使用场景,本篇就开始学习WebAssembly模式,本篇主要学习的是创建项目及认识项目结构:

    1. 创建项目
    从零开始一起学Blazor WebAssembly 开发(2)

     

    从零开始一起学Blazor WebAssembly 开发(2)

    选择Blazor应用

    从零开始一起学Blazor WebAssembly 开发(2)

     

    从零开始一起学Blazor WebAssembly 开发(2)

    选择WebAssemblyApp,并且勾选PWA,之后的文章会说到PWA

    从零开始一起学Blazor WebAssembly 开发(2)

    创建成功后,运行项目,成功运行

    1. 认识项目结构
    从零开始一起学Blazor WebAssembly 开发(2)

    项目结构

    创建好的项目分成以上几个区域,wwwroot,Pages,Shared,_Imports.razor,App.razor,Program,以下分别介绍下各个部分,这里是我个人的对这个项目的理解,有不对的欢迎指正。

    从零开始一起学Blazor WebAssembly 开发(2)

    Program

    项目运行开始是从Program进来的,builder.RootComponents.Add<App>("app");这里的‘App’类 对应了App.Razor, 括号里的app 对应了 wwwroot下index.html里的<app>标签。名称要一致。index.html算是整个单页应用最大的母版。

    从零开始一起学Blazor WebAssembly 开发(2)

    index.html

    日常使用的通用的js都写在这个index.html里

    从零开始一起学Blazor WebAssembly 开发(2)

    App.Razor

    App.Razor里主要看一个地方就行,就是默认Layout的设置,这里默认的是MainLayout,如果Pages里的Razor 不做特殊声明的话,就是默认使用这个。如果想使用别的,就可以代码头部加@layout LoginLayout (这里是举例,不一定叫LoginLayout)

    从零开始一起学Blazor WebAssembly 开发(2)

     

    @page 代表的单页应用里的页面路径

    从零开始一起学Blazor WebAssembly 开发(2)

     

    从代码中可以看到大部分之前用js来做的这里用到了C#来写了。比如这里的获取天气信息json数据的,这里用了HttpClient读取。代码很清晰,对于.net开发人员确实是很友好。

    从零开始一起学Blazor WebAssembly 开发(2)

    _imports.razor

    _imports.razor里放了一些引用的命名空间。

    以上来块,整个页面的结构是index.html->Layout->Page 一层层嵌套而成。页面之间跳转使用page里的@page来设置路径。不同页面想用不同的layout可以单独设置,很多逻辑可以用C#来实现。这是默认项目给到的东西,下篇将会结合实际项目登录功能讲一个结合js使用的功能。

  • 相关阅读:
    771. Jewels and Stones
    706. Design HashMap
    811. Subdomain Visit Count
    733. Flood Fill
    117. Populating Next Right Pointers in Each Node II
    250. Count Univalue Subtrees
    94. Binary Tree Inorder Traversal
    116. Populating Next Right Pointers in Each Node
    285. Inorder Successor in BST
    292. Nim Game Java Solutin
  • 原文地址:https://www.cnblogs.com/wcoolly/p/13263228.html
Copyright © 2011-2022 走看看