我想建立一个.NET核心项目使用Razor页面,并在Razor页面中包含vueJs,用于我的所有逻辑.

大概是这样的:

@{
    ViewData["Title"] = "VueJs With Razor";
}
<h2>@ViewData["Title"].</h2>

<div id="app">
   <span>{{ message }}</span>
</div>

<script>
     new Vue({
        el: '#app',
        data: {
          message : 'Hello vue.js'
        }
    })
</script>

我曾读到,混合使用Vue和Razor页面是一种不好的做法,应该使用Razor或Vue.

这是为什么?

推荐答案

你可以做到的.有时候,如果您像我们一样迁移现有的代码库,并且不能一次转换所有代码,那么您就必须这么做.正如罗恩·C所说,它工作得很好.

如果你要开始一个新项目,你有 Select 的余地.支持SPA而不是Razor的原因是...

  • react 性.SPA应用程序通常感觉(更)react 性更强.在数据到达之前,通常从缓存提供初始渲染.在第一次加载时,所有资源在一个请求-响应中以Bundle 方式到达.没有请求链接,或者请求链接的次数要少得多.

  • 工作流.webpack,Bundle 热装很棒通过缩小、编译Vue呈现函数、消除404样式错误、捕获js语法错误,您可以获得产品构建.对于许多错误,从引入错误到发现错误的周期大大缩短.

  • 温泉世界.路由,Vuex,这真的是future 的方式.

  • 纯洁Razor和Vue在一天结束时做类似的事情.如果你把它们混在一起,你可能很难保持头脑清醒.

Asp.net相关问答推荐

更新剃须刀页面中图表的值

Windows 命令行中的/p:是什么意思

我们可以在一个网页中使用多个表单吗?

SignalR + Autofac + OWIN:为什么 GlobalHost.ConnectionManager.GetHubContext 不起作用?

/应用程序中的服务器错误. ASP.NET

是否可以在没有那些 .svn 文件夹的情况下从 subversion 签出文件?

HTTP 错误 503.该服务在简单的 ASP.NET 4.0 网站下不可用

如何设置 CSS 切换器

嵌套剃刀模板中的@RenderSection

反序列化客户端 AJAX JSON 日期

页面在谷歌浏览器中加载两次

如何在 IIS 7.5 上使用 ASP.NET 表单身份验证保护静态文件?

如何将图像 url 转换为 system.drawing.image

LINQ:使用 Lambda 表达式获取 CheckBoxList 的所有选定值

SimpleMembership 与 ASP.NET MVC 4 中的自定义数据库架构

IIS 会话超时与 ASP.NET 会话超时

将 Http 请求读入字节数组

使用 .NET 连接到 AS400

将 C# ASP.NET 数组传递给 Javascript 数组

将对象传递给 HTML 属性