Asp.net mvc 角度2+;ASP.NETMVC应用程序中的无路由
我必须在ASP.NETMVC内容管理系统中工作。作为其中的一部分,ASP.NETMVC必须控制路由,因为它是内容管理方式的组成部分。它会重新加载整个页面,所以我不会构建一个单页面应用程序 我想使用Angular 2+(目前正在试用版本4)作为我的前端框架,这样我就可以利用组件架构、绑定、类型脚本、单元测试等。但是,我不需要路由 我的目的是编译Angular应用程序一次,并在ASP.NETMVC布局页面上添加适当的JS和CSS资产。然后,在需要Angular的每个页面上,我都会添加引导组件,然后嵌套其他组件(noAsp.net mvc 角度2+;ASP.NETMVC应用程序中的无路由,asp.net-mvc,angular,Asp.net Mvc,Angular,我必须在ASP.NETMVC内容管理系统中工作。作为其中的一部分,ASP.NETMVC必须控制路由,因为它是内容管理方式的组成部分。它会重新加载整个页面,所以我不会构建一个单页面应用程序 我想使用Angular 2+(目前正在试用版本4)作为我的前端框架,这样我就可以利用组件架构、绑定、类型脚本、单元测试等。但是,我不需要路由 我的目的是编译Angular应用程序一次,并在ASP.NETMVC布局页面上添加适当的JS和CSS资产。然后,在需要Angular的每个页面上,我都会添加引导组件,然后嵌
router outlet
)
不幸的是,如果没有路由,它似乎无法工作
这是我的一些代码
\u Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="~/Dist/vendor.css" />
</head>
<body>
@RenderBody()
<script src="~/Dist/vendor.js"></script>
<script src="~/Dist/main-client.js"></script>
</body>
</html>
<app>
<test-component>
</test-component>
</app>
@RenderBody()
app.component.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="~/Dist/vendor.css" />
</head>
<body>
@RenderBody()
<script src="~/Dist/vendor.js"></script>
<script src="~/Dist/main-client.js"></script>
</body>
</html>
<app>
<test-component>
</test-component>
</app>
控制器视图(Index.cshtml)
输出
在Chrome中查看HTML源代码在Razor视图中显示相同的HTML
但是,使用Chrome开发工具检查页面有以下几点。注意:控制台中没有错误
app
元素被呈现,而testcomponent
元素没有呈现(来自testcomponent.component.HTML
的HTML不会被替换到页面中)。我猜是因为Angular 2+需要路由器插座
组件
是否可以在没有路由的情况下使用Angular 2+?在没有路由的情况下使用Angular 2+是可能的。你有什么错误?我的反馈没有错误。为什么不使用MVC来100%满足您的“组件架构、绑定、单元测试”需求呢。在每次页面加载时设置angular将使页面速度变慢,因为angular应用程序必须从头开始加载。在非SPA中使用Angular可能是一个非常错误的决定。因为技术应该根据需要而不是新技术的可用性来选择。你做到了吗?@Gillardo,我们没有让它工作,而是使用了React