找不到Angular 2的路由资源
本文关键字:路由 资源 Angular 找不到 | 更新日期: 2023-09-27 18:02:45
我正在使用VS 2015 RC,在一个WebAPI项目上工作,当我尝试在Angular 2中使用路由时,我得到以下错误:
加载资源失败:服务器返回404 (Not Found) localhost:14580/angular2/router
可能未处理的拒绝[3]加载"angular2/router"在localhost: 14580/angular2/路由器加载"angular2/router"从"组件/主/main"localhost: 14580//主/main.js组件未找到:localhost:14580/angular2/router (WARNING: non-Error using)
视图是main的基本导入。ts组件。组件代码如下:
/// <reference path="../../Scripts/typings/angular2/angular2.d.ts" />
/// <reference path="../../Scripts/typings/_custom/ng2.d.ts" />
import {Router, RouteConfig, RouterLink, RouterOutlet} from 'angular2/router';
import {Component, View, bootstrap} from 'angular2/angular2';
import {Login} from '../login/login';
import {status, json} from 'Scripts/utils/fetch'
// Annotation section
@Component({
selector: 'my-app'
})
@View({
templateUrl: 'Views/main/main.html',
directives: [RouterLink, RouterOutlet]
})
@RouteConfig([
{ path: '/login', as: 'login', component: Login }
])
// Component controller
export class Main {
//router: Router;
name: string;
constructor(router: Router) {
//this.router = router;
this.name = 'Routing';
router.config([{ path: '/login', as: 'login', component: Login }]);
}
login(event, email, password) {
event.preventDefault();
window.fetch('/api/Account/Login', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email, password
})
})
.then(status)
.then(json)
.then((response) => {
alert(response);
// this.router.parent.navigate('/home');
})
.catch((error) => {
alert(error.message);
console.log(error.message);
});
}
}
bootstrap(
Main
);
您需要在html中包含router.dev.js
,就像您包含angular2.dev.js
一样。因此,只需将这行添加到index.html
的头部:
<script src="../node_modules/angular2/bundles/router.dev.js"></script>
p。我知道你已经解决了这个问题,但答案并不清楚,我花了一段时间才意识到我的应用程序出了什么问题。
如果你在Angular 2中引入最新的definitelyTyped类型,它可能会更容易工作。下面是一个工作示例:
http://www.syntaxsuccess.com/viewarticle/routing -在-角- 2.0