首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
blazor和Vue哪个容易
2024-10-13
Blazor和Vue对比学习:说在开始前
1.Vue:现代前端三大框架之一(Vue/React/Angualr),基于HTML.CSS和JavaScript,2014年正式对外发布,目前已发展到3.X版本.值得说道的是,Vue的创始人作者是华裔尤雨溪,这可能也是Vue在中国特别受欢迎的原因之一. 2.Blazor:.NET技术体系的现代前端框架,基于HTML.CSS和C#,2019年正式发布了Blazor Server,2020年发布Blazor Webassembly,2022年还将发布Blazor Hybrid.Blazor的这三个
Blazor和Vue对比学习(基础1.4):事件和子传父
Blazor和Vue的组件事件,都使用事件订阅者模式.相对于上一章的组件属性,需要多绕一个弯,无论Blazor还是Vue,都是入门的第一个难点.要突破这个难点,一是要熟悉事件订阅模式<其实不难>:二是多练几次.熟悉套路.接下面,我们开始学习以下几个知识点 事件订阅模式 使用事件订阅模式实现子传父 子传父参数详解 事件定义的校验 Vue中使用模板,定义和触发事件的方法 Blazor中委托可以传递参数吗 一.事件订阅模式(简单的知道整个结构是怎样就可以了) 1.事件的两个主体:事件拥有者和事件订阅
Blazor和Vue对比学习(进阶.路由导航一):基本使用
Blazor和Vue都是单文件组件SPA,路由的实现逻辑非常相似,页面路径的改变都是组件的切换,但因为各自语言的特性,在实现方式上有较大差异. 一.安装 1.Vue:Router是Vue的一个插件.如果使用Vite脚手架初始化项目,需要手动安装和配置Router插件.如果使用Vue脚手架初始化项目,可以在安装过程中,选择带Vue Router的模板,自动完成Router的安装和配置.Vue脚手架初始化项目的cli命令为[npm init vue@latest].下面主要简单介绍一下,如何手动安装
Blazor和Vue对比学习(基础1.1):组件结构
难度:★ 简单说一说: 1.Vue和Blazor都遵循单文件结果,即HTML(视图模板).CSS(样式).JS/C#(代码逻辑)写在一个文件里,Vue的文件后缀为.vue,Blazor的文件后缀为.razor 2.三个部分的区别: 1)视图HTML部分,区别在于模板语法,主要是标签内容和标签属性的数据绑定.另外,Vue需要使用顶级标签<template>,Blazor不需要,上来就可以直接撸HTML. 2)样式CSS部分,基本一样,可能高级功能有一些差异,这部分目前关注的比较少,估计Vue会更
Blazor和Vue对比学习(基础1.2):模板语法和Razor语法
Vue使用模板语法,Blazor使用祖传的Razor语法,从逻辑和方向上看,两者极为相似,比如: 都基于HTML 都通过声明式地将组件实例的状态(数据/方法)绑定到呈现的DOM上 都通过指令实现更加丰富的视图/HTML与逻辑/JS和C#的互动应用 底层机制都是通过虚拟DOM,实现差量更新 工程组建方式都基于组件树 都具有单文件组件特征 但在具体实现和语法上,两者有比较大的差异.给人的总体感觉就是,都很熟悉,但就是不太一样.以下仅对语法基础进行逐点比较,内容较多,目录如下: 标签内容绑定(单向)
Blazor和Vue对比学习(基础1.3):属性和父子传值
组件除了要解决视图层展示.视图层与逻辑层的数据绑定,还需要解决一个重大问题,就是在组件树中实现数据传递,包括了父到子.子到父.祖到孙,以及任意组织之间.而我们上一章讲到的实现双向绑定的两个指令,Vue的v-model,Blazor的@bind,可以认为是父到子和子到父,两个方向同时实现的语法糖,后面章节我们再来实现它. 我们先从最简单的父子传值开始学习.在Vue和Blazor中,都是通过属性来实现父子组件的数据传递.我们以往都是在html标签上设置属性,属性值可以是字面量,也可以绑定逻辑数据.比
Blazor和Vue对比学习(基础1.5):双向绑定
这章我们来学习,现代前端框架中最精彩的一部分,双向绑定.除了掌握原生HTML标签的双向绑定使用,我们还要在一个自定义的组件上,手撸实现双向绑定.双向绑定,是前两章知识点的一个综合运用(父传子.子传父),但因为又多了一层抽象,有一点小难度,需要一点时间和练习来熟悉套路,但必须要越过去.此后,基础部分就是一马平川了.此章我们分为以下几个部分来一起学习: 补充:HTML标签和组件 HTML标签的双向绑定 自定义组件的双向绑定 再次认识指令属性/修饰符 一.补充:HTML标签和组件 在学习双向绑定前,我
Blazor和Vue对比学习(基础1.6):祖孙传值,联级和注入
前面章节,我们实现了父子组件之间的数据传递.大多数时候,我们以组件形式来构建页面的区块,会涉及到组件嵌套的问题,一层套一层.这种情况,很大概率需要将祖先的数据,传递给子孙后代去使用.我们当然可以使用父传子的方式,使用属性一级级往下传,但这样真得很麻烦.所以在Vue和Blazor都提供了祖孙传值的方案. 插个话题:有人会问,子传父是不是也可以一级级往上传?当然可以,但你绝不要这么去做.子传父就已经够绕了,不要为难自己.如果有这种需求,应该考虑数据状态从组件中剥离出来,我们将在进阶章节,一起学习"状
Blazor和Vue对比学习(基础1.8):Blazor中实现计算属性和数据监听
1.7章<传递UI片断>,需要做几个案例,这部分暂停消化几天.我们先把基础部分相对简单的最后两章学习了. 计算属性和数据监听是Vue当中的概念,本质上都是监听数据的变化,然后做出响应.两者的区别,在于响应方式的不同. 1.计算属性,如[const result = computed(()={return a + b})].知名见意,是一个计算表达式,表达式中使用到的响应式变量都是它监听的对象,只要其中有任何变量发生变化,结果都会重新计算.可以理解为EXCEL里的计算,比如某个单元格的公式为&q
Blazor和Vue对比学习(基础1.7):传递UI片断,slot和RenderFragment
组件开发模式,带来了复用.灵活.性能等优势,但也增加了组件之间数据传递的繁杂.不像传统的页面开发模式,一个ViewModel搞定整个页面数据. 组件之间的数据传递,是学习组件开发,必须要攻克的难关.这个章节,我们将一起学习如何将UI片断传递给子组件.子组件的UI片断,由父组件来提供,子组件接收到后直接渲染,这种场景的使用范围还是比较多的.我们之前对自定义组件的操作,一直都是在标签属性的位置,从来没有在标签体内容的位置搞过[<Child>这个位置</Child>].这个位置,就是为传
Blazor和Vue对比学习(基础1.9):表单输入绑定和验证,VeeValidate和EditFrom
这是基础部分的最后一章,内容比较简单,算是为基础部分来个HappyEnding.我们分三个部分来学习: 表单输入绑定 Vue的表单验证:VeeValidate Blazor的表单验证:EditForm 一.表单输入绑定 表单输入主要涉及前面章节的双向绑定,但不需要我们自定义,直接使用就行.如果已经掌握了"1.6章节双向绑定",那这部分的知识点简直"洒洒水".Vue的v-model指令,为所有原生的HTML组件做了一些特殊处理,不仅支持双向绑定,也支持check或ra
Blazor和Vue对比学习(进阶2.1.1):生命周期,基本理解和使用
一.基本理解 首次接触"生命周期"这个名词,是比较晦涩的,Vue中又有生命周期钩子,而Blazor则是虚方法重写,容易蒙.所以,我尝试从初学者的角度来阐述一下. 1.我们在基础部分已经知道,组件有两部分组成,一是逻辑层,有数据和方法(方法本质上也是数据):二是视图层,虽然有自定义组件,但拆到底,还是HTML原生标签. 2.组件的初次呈现,可以先简单的理解为两个过程,第一步,完成逻辑层的实例化,类似于一个类的实例化,为视图层准备数据:第二步,完成视图层DOM的渲染,会使用到逻辑层的数据.
Blazor和Vue对比学习(进阶2.2.3):状态管理之状态共享,Blazor的依赖注入和第三方库Fluxor
Blazor没有提供状态共享的方案,虽然依赖注入可以实现一个全局对象,这个对象可以拥有状态.计算属性.方法等特征,但并不具备响应式.比如,组件A和组件B,都注入了这个全局对象,并引用了全局对象上的数据.我们通过组件A,修改全局对象的数据,全局对象上的数据更新,但引用了这个数据的组件B,并不会自动更新.如果要实现真正的状态共享,需要借助第三方库Fluxor. 一.通过依赖注入,实现全局状态 打开官方预制的Counter模板,无论是WASM模式,还是Server模式,组件切换/URL地址变更/页面刷
Blazor和Vue对比学习(进阶2.2.4):状态管理之持久化保存(2),Cookie/Session/jwt
注:本节涉及到前后端,这个系列的对比学习,还是专注在前端Vue和Blazor技术,所以就不撸码了,下面主要学习概念. 我们知道,Http是无状态协议,客户端请求服务端,认证一次后,如果再次请求,又要重新认证,因为对服务端来说,客户端的每次请求都是无差别的!另外,服务端的授权体系,一般使用基于RBAC角色权限模型.角色信息,我们可以在客户端每次请求都,都查询一次,但这样比较消耗资源.最好的方式,是客户端第一次请求时,就将角色传给客户端,之后客户端每次请求,直接携带角色信息.而这些问题,都需要使用C
Blazor VS Vue
Vue--两分钟概述 Vue 是一个JavaScript 框架. 在其最简单的模式中,您可以简单地将核心 Vue 脚本包含在您的应用程序中,然后开始构建您的组件. 除此之外,对于更复杂的应用程序,您可以使用 Vue 自己的 CLI 创建(并最终发布)一个 Vue 项目. 与大多数其他 JavaScript 框架一样,Vue 应用程序构建为一系列小组件,然后您可以将它们组合在一起以构建更大的功能(最终是整个应用程序). 您通常会使用 HTML.CSS 和 JavaScript(或 TypeSc
Blazor和Vue对比学习(知识点杂锦3.04):Blazor中C#和JS互操作(超长文)
C#和JS互操作的基本语法是比较简单的,但小知识点特别多,同时,受应用加载顺序.组件生命周期以及参数类型的影响,会有比较多坑,需要耐心的学习.在C#中调用JS的场景会比较多,特别是在WASM模式下,由于WebAssembly的限制,很多时候,还是需要借助JS去控制DOM或BOM,比如WebStorage.WebGL.MediaCapture,还比如使用JS的图表库echart.js.反过来,在JS中调用C#的场景,就比较少见.所以,此章节关于"C#中调用JS" 的篇幅会多一些. 这个章
「译」Blazor VS React React / Angular / Vue.js
原文作者: Christian Findlay 原文链接: https://christianfindlay.com/2020/06/04/blazor-vs-react-angular-vue-js/ Blazor是一项新的Microsoft技术,允许开发人员使用C#为浏览器编写代, 本文将Blazor与其他三个常见SPA框架进行了比较:React,Angular和Vue.js, JavaScript是当前基于浏览器的单页应用程序(SPA)最受欢迎的语言,因为直到最近,它还是在浏览器中运行的唯
浏览器中的 .Net Core —— Blazor WebAssembly 初体验
前言 在两年多以前就听闻 Blazor 框架,是 .Net 之父的业余实验性项目,其目的是探索 .Net 与 WebAssembly 的兼容性和应用前景.现在这个项目已经正式成为 Asp.Net Core 框架的一部分,公开了预览版,官方教程也基本写好上线了.就着这个机会,顺便体验一下这个框架用起来如何. 之前在网上搜索 Blazor 的相关信息的时候发现吵得很厉害.前端开发者大多觉得有 Vue 之类的前端 MVVM 框架已经够用,没有 C# 插足的余地.甚至很多 C# 开发者也不知道这个框架的
Blazor入手教程(一)前言
Blazor入手教程(一)前言 结论 最近在学习blazor.得出了这么一个结论: Blazor是一门很值得学习的技术,未来.net下将会有相当多的 web应用使用blazor开发.十分看好这一技术,原因有这么两点: 1,开发效率高.选择了Blazor就等于选择了全栈开发.以往的经验告诉我,全栈开发的效率更高,全栈省去了相当一部分的沟通成本,而且使用blazor时可以重用很多以往的c#代码,这能提高不少效率. 2,社区发展势头很好.已经有很多很不错的组件库AntDesign-blazor,Boo
如何在现有的Vue项目中嵌入 Blazor项目?
目前官方只提供了angular和react俩种示例,所以本教程将来讲解如何在Vue的现有项目中使用,上期已经做好了react的教材! 准备流程 Vue 项目创建流程 使用Vue创建一个Demo项目 全部选择默认No即可 然后项目名称就用demo了 npm init vue@latest cd demo npm i 安装完成依赖,在项目的根目录找到index.html 添加以下代码即可 <!DOCTYPE html> <html lang="en"> <he
热门专题
svn repo browser一直在初始化
scriptx打印控件控件下载
keras回diao函数实时绘制
连续请求接口 没有Status Code canceled
jpa sql 语句 大写字母
ant执行jmeter脚本生成详细报告报错
CMMI2.0的实践域的过程
获取浏览器导航栏中传递的参数
linux swap关闭
TYPEC拓展坞四合一方案CS5268
java 字符模板 遍历替换
android 验证码到剪切板上
avalondock 自定义 选项卡
python3 聚合函数只能用于数值么
XX-Net-接力GoAgent
plsql执行计划 耗费
移动端是如何做屏幕适配
前端页面模板大全魔法融合
微信小程序获取当前地址以及选择地址详解
truncate删除的底层