我在ASP.NET MVC 5项目中使用AngularJS 2,我不使用Angular提供的路由,只依赖于MVC路由策略。
奇怪的是,当我在路线“域/控制器”时,AngularJS似乎会查看网址并且只能正确加载,如果我在路线上“domain /控制器/“或”域名/控制器/操作“我的Angular应用未加载,我在浏览器中出现以下错误:
我正在使用以下脚本加载我的引导程序:
<script src="~/Scripts/systemjs.config.js"></script>
<script>
System.import('../tsScripts/boot').catch(function (err) {
console.error(err);
});
</script>
我的boot.ts文件:
///<reference path="./../typings/globals/core-js/index.d.ts"/>
import {bootstrap} from '@angular/platform-browser-dynamic';
import {HTTP_PROVIDERS} from '@angular/http';
import {AppComponent} from './app';
bootstrap(AppComponent, [HTTP_PROVIDERS]);
我不知道为什么Angular(或框架中的其他部分)与MVC路由不兼容,或者我的实现有什么问题。
答案 0 :(得分:1)
我遇到了同样的问题, 我只是解决了将此代码放入 _Layout.cshtml 的 head 标记(以便应用于所有视图)
<head>
<base href="/">
...
</head>
您也可以通过这种方式修复
import {APP_BASE_HREF} from '@angular/common';
@NgModule({
...
imports: [RouterModule],
providers: [{provide: APP_BASE_HREF, useValue : '/' }]
]);