首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
blazor与vue
2024-09-04
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对比学习(基础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
来自后端的突袭? --浅尝最新开源的C# Web引擎 Blazor
在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor ,将.NET带回到浏览器. 这个小惊喜, 迅速的在dotnet开发者中间传开了. 而就在昨天(2018年3月22日) Blazor发布了它的第一次Release. Blazor到底是个什么样的东西呢?我们是否真的可以携着C#语言进入前端的市场中? 不如现在就跟我一起体验dotnet blazor吧. 首先 获取最新版的dotnet core 并安装Blazor模板: 安装 最新的
.NET in Browser - Blazor
什么是Blazor Blazor 是一个实验性的. NET web 框架, 使用 C# 和 HTML 在任何浏览器中不需要插件即可运行 WebAssembly 程序集. 什么是WebAssembly WebAssembly是一种新的适合于编译到Web的,可移植的,大小和加载时间高效的格式,是一种新的字节码格式.它的缩写是".wasm",.wasm 为文件名后缀,是一种新的底层安全的"二进制"语法.它被定义为"精简.加载时间短的格式和执行模型",并
热门专题
js 不压缩图片分辨率只修改尺寸大小
sap 客户的信用状态标准表
unicode在线编码解码
idea创建安卓项目创建错误
javaScript点击鼠标改变背景颜色
opencascade 螺旋线
linux pcie驱动框架
eclipse保存卡顿
wpf按钮mouserenter
易语言shellcode转机器码
nginx代理kibana 代理前缀被替换
qstring赋值char数组
was6.1 重装控制台
activity启动时白色页面
js video 全屏 监听
应用 文件服务器 集成 上传 下载
金蝶k3权限能破解吗
jetbrain ai插件
controller中返回静态资源
C# com组件解除内存占用