同时懂vue和razor的请教个问题哈

中骑士 2019-09-29 09:30:10
为什么要用vue呢?我感觉它跟razor毫无优势!
比如前台页面里想显示一个Name,Razor的写法很简洁:
<div>@Name</div>
或者是<div>@Model.Name</div>
但Vue要在JS里先传进去@Name,然后再写New一个Vue再调用#div的Id,再渲染,我不知道这是吃饱了撑的没事干,还是Vue作者给我们加班和带动工作的机会?
...全文
1093 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
加油馒头 2019-10-16
  • 打赏
  • 举报
回复
引用 8 楼 中骑士 的回复:
谢谢大家,看了回复,还是没明白: 你说vue就是前端,前端也得从后端取数据啊!!! razor传数据(或者vue从后台ajax取数据)填写到一个变量里叫{{name}},然后就在前端某处渲染了。如<div id="a">{{name}}</div> 我日,这么麻烦, 我直接在前端直接@name不就结了?!!!<div>@ViewBag.Name</div> 我知道,要明白 这些东东还是要自己在项目中自己去领会的,既然这也是一条不能直接得出答案的问题,还是先放弃,有机会再玩它吧。 再等等回答,晚上结。
现在都是前后端分离了 用razor只能前后端高度耦合在一起,就是这么个问题。。。
hwyqy 2019-10-01
  • 打赏
  • 举报
回复
学习中,正在纠结vue和razor
正怒月神 版主 2019-09-30
  • 打赏
  • 举报
回复
楼主,你不能满脑子都是前后台绑定的思想。 现在都是前后端分离。 前台美工,人家不认识你razor使用的@name, 更有甚者使用razor在前台写方法@{var q=方法()}。 你让前台怎么玩啊? 但是人家认识vue,认识js。 人家直接请求webapi接口获取数据。 根本不用关心你的razor语法。 而你们既然使用.net mvc的razor引擎来解析,那么前后台就是绑定的, 说白了这个和aspx是没有区别的。 你就认为jquery+ashx这种,就是 vue+webapi的使用方式,只是前台框架不一样。 但是你asp.net mvc和aspx控件,其实没什么区别。还是要刷刷刷,让后台渲染。
中骑士 2019-09-30
  • 打赏
  • 举报
回复
谢谢大家,看了回复,还是没明白: 你说vue就是前端,前端也得从后端取数据啊!!! razor传数据(或者vue从后台ajax取数据)填写到一个变量里叫{{name}},然后就在前端某处渲染了。如<div id="a">{{name}}</div> 我日,这么麻烦, 我直接在前端直接@name不就结了?!!!<div>@ViewBag.Name</div> 我知道,要明白 这些东东还是要自己在项目中自己去领会的,既然这也是一条不能直接得出答案的问题,还是先放弃,有机会再玩它吧。 再等等回答,晚上结。
wanghui0380 2019-09-30
  • 打赏
  • 举报
回复
N年前从XX园那波,这里就一直在问3层,mvc啊,mvvm啊,但我们一早就回复过,何处不3层,何处不mvc,何处不mvvm 所以,你别觉着你NX,就你net的3层叫3层,就你的asp.net mvc叫mvc,就你的wpf mvvm叫mvvm 人家前端其实早就如此了 这才是真正的3层,真正的mvc,真正的mvvm。因为其实没有你,没有后端。人家也一样能把项目做完,因为人家一样仅仅靠js层就可以分层隔离,靠js层就可以action路由匹配触发,靠js层就可以mvvm。人家也是程序员,也是靠逻辑,靠脑袋吃饭的。
  • 打赏
  • 举报
回复
引用 13 楼 中骑士 的回复:
我只是不知道VUE出现的理由 是什么。就像如果我问react出现的理由,它的特点是组件化,否则都写在HTML里,如果你不嫌麻烦,完全可以不用react,我只是举个例子,当然react不是我理解的这么简单。但vue虽然也说组件化,但我没看出来,说它灵活,我还说Razor的@更灵活呢! 解释因为要分工,所以分前后端,但没回答我的问题啊,对吧
上面只是我的理解。 对错只代表我个人看法。 其实写代码 只要手上的东西能完成你需要的就好了, 随着项目的多 对框架的认识就越来越全面了
  • 打赏
  • 举报
回复
引用 13 楼 中骑士 的回复:
我只是不知道VUE出现的理由 是什么。就像如果我问react出现的理由,它的特点是组件化,否则都写在HTML里,如果你不嫌麻烦,完全可以不用react,我只是举个例子,当然react不是我理解的这么简单。但vue虽然也说组件化,但我没看出来,说它灵活,我还说Razor的@更灵活呢! 解释因为要分工,所以分前后端,但没回答我的问题啊,对吧
如果你用Razor 来写程序 , 现在你定义了 @ViewBag.Name 这个东西, 你前端HTML和 CSS也自己写, 你拿来就用<div>@ViewBag.Name</div> 现在项目2个人做, 你只负责服务端数据, 你的合伙人负责 HTML和CSS。 你俩如何沟通 能让他随时知道你的定义的@ViewBag 里面的所有属性那? 如果是5个人项目, 一个服务端对应4个前端 你又如何来做弄那。 VUE的出现得源于前后分离。 开始的分离 就是HTML+AJAX+服务端 通信可能都是json。 但是 在JS和 JQ解析JSON的时候没办法模板化。要 json[行][列],而且在页面展示的时候还要循环拼装出来 for(i=0;i<json.legn;i++) { 拼装HTML } 页面某个控件的 INNERHTML= 拼装HTML 于是出来JQ的升级版吧。VUE 可以吧json模板化了 就可以实现 <div>Model.Name</div> 这样 服务端 根本不用管 HTML 和CSS, 只要和前端 通信没问题就OK了
wanghui0380 2019-09-30
  • 打赏
  • 举报
回复
引用 13 楼 中骑士 的回复:
我只是不知道VUE出现的理由 是什么。就像如果我问react出现的理由,它的特点是组件化,否则都写在HTML里,如果你不嫌麻烦,完全可以不用react,我只是举个例子,当然react不是我理解的这么简单。但vue虽然也说组件化,但我没看出来,说它灵活,我还说Razor的@更灵活呢! 解释因为要分工,所以分前后端,但没回答我的问题啊,对吧
那好在去理解一下mvc和mvvm,不是只有你neter,c#才有mvc和mvvm,人家js一样有。人家一样在前端写action路由,一样在前端写mvvm。真正把mvc,mvvm,响应式用好的,反而不是XX园叫的震天响的neter,真正把这些用好的反而是你们最瞧不起的javascripter
中骑士 2019-09-30
  • 打赏
  • 举报
回复
17年喂了狗了哈哈
中骑士 2019-09-30
  • 打赏
  • 举报
回复
我只是不知道VUE出现的理由 是什么。就像如果我问react出现的理由,它的特点是组件化,否则都写在HTML里,如果你不嫌麻烦,完全可以不用react,我只是举个例子,当然react不是我理解的这么简单。但vue虽然也说组件化,但我没看出来,说它灵活,我还说Razor的@更灵活呢! 解释因为要分工,所以分前后端,但没回答我的问题啊,对吧
游北亮 2019-09-30
  • 打赏
  • 举报
回复
如你所说,直接用Razor输出html给浏览器,确实比较方便快捷,不考虑用户体验的情况下, 甚至不需要懂js,浏览器收到的,全篇都是html+css就够了,就是体验会差一些,老是需要刷新页面。 但是项目大了,你不能期望所有的后端,都完全熟悉html和css、js,所有的后端都是全栈工程师, 而且用户界面变化的概率也更高,你不会希望:只改几个文字,也要后端重新打包编译发布吧? 这就是为什么要有前端,vue就是前端开发框架。
游北亮 2019-09-30
  • 打赏
  • 举报
回复
我也觉得,楼主这个17年,有点亏,17年都在做同一件事吧? 你是做后端的?那为什么要分什么3层? 直接在 Controller里,连接数据库读取数据就好了,多简单,为啥还要啥Model、仓储、服务层?还搞个鸟的IoC、Aop啊? 小项目,想怎么搞都可以,但凡项目有一点规模了,就必然后端需要分工,前端也要分工。
江湖评谈 2019-09-30
  • 打赏
  • 举报
回复
你在CSDN 17 yeaer 是 怎么混的 ? Razor 这种前段会被 .Net 编译成程序集,然后反馈为 html再显示,这是.net mvc 下面的一种结构模式 Vua 这种是直接生产html 调用JS,跟后端的 .Net 是毫无关系,这种是传统的开发模式 简而言之,都是一种技术,这两种你选一种做前端就行了,区别就是需不需要靠后端运行。
正怒月神 版主 2019-09-29
  • 打赏
  • 举报
回复
至于你后面的什么传递@Name,在New。。。。 这个都是你们项目自己的问题。 vue只要调用ajax或者axios访问wbapi就好了。哪来你说的这么麻烦。
正怒月神 版主 2019-09-29
  • 打赏
  • 举报
回复
。。。。说白了 razor还是绑定啊。
  • 打赏
  • 举报
回复
razor 具体没操作过。 但是很好理解啊, 服务端渲染前端,也就是说 一个人要干2个人活。 你看下面的代码 <ul> @for (int i = 0; i < 10; i++) { <li>@i</li> } </ul> @for 是服务端在做的事 拼装了 10行LI 。 而vue 就是JS AJAX JQ, 他跟服务端没关系的。
wanghui0380 2019-09-29
  • 打赏
  • 举报
回复
就像你们天天的N层一样,原来人家的意思是说独立,分开。结果你们虽然嘴上说独立分开,但身体挺诚实把这些又纠结在一起。然后号称自己独立分开,你真分开了么??? razor是吧,你真分开了?请问你到底是C#,还是美工,还是前端,还是后端。你需要修改的时候,别人找谁?谁在加班。 找美工么?找前端么?找后端么?最后都是找你这个写razor滴,没办法。美工不会razor,前端不玩razor,最后只能找你这个写C#的前后都玩的“大拿”去体现“不可或缺的优越性”了
wanghui0380 2019-09-29
  • 打赏
  • 举报
回复
后端渲染跟前端渲染 比优势???? vue的优势很明显,那就是前端就是前端,他不必知道C#,java,不必去管说明razor,stuct。他就学H5,css,bootstrap,js就行。 同样他的优势在于,单纯变UI,一个前端就可以搞定,所以一件简单的事情,没必要弄2,3个人去折腾。
楠小南 2019-09-29
  • 打赏
  • 举报
回复
你觉得毫无优势 那是因为你还没 清楚他的应用场景和使用情况,
多点做做SPA应用 就不会有这问题了
m0_38034077 2019-09-29
  • 打赏
  • 举报
回复
两个不同的概念 一个服务器渲染一个前端渲染 能一样? vue的组件化是mvc不能比拟的

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧