我想建立一个.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相关问答推荐

Visual Studio发布的网站得到错误类型JObject is not defined when page is load on server"''"

Razor页面上@Foreach的正确语法,其中值可以等于多个值

在Docker Windows中,ASP.NET核心容器在自定义端口8080上运行,但ASP.NET容器在固定端口80上运行

如何在 ASP.​NET Core 中使用 jquery

Server.Transfer 在执行子请求时抛出错误.如何解决?

使 ASP.NET WCF 将字典转换为 JSON,省略键和值标签

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

如何在 ASP.NET 中使用时区?

在程序集中找不到上下文类型

ASP.NET Core 中的授权. [Authorize] 属性总是 401 Unauthorized

ASP.NET MVC 5 中的路由可选参数

.NET 上的 HTTP/2(HTTP2 或 SPDY)

ASP.NET IIS Web.config [内部服务器错误]

使用 ASP.NET Web API 对 PUT 和 DELETE 的 CORS 支持

头标记中的内联代码 - ASP.NET

如何将我的 Autofac 容器插入 ASP. NET 身份 2.1

Application_Start 和 Application_OnStart 之间的区别

从服务器下载 ASP.NET 文件

如何使用 int ID 列更改 ASP.net Identity 2.0 的表名?

ASP.NET 自定义控件 - 未知的服务器标记