angular2 - ROUTER_PROVIDERS 未定义
angular2 - ROUTER_PROVIDERS is not defined
我在 system.config.js 中有这段代码,用于导入 angular2 的旧路由器(已弃用的路由器)。
'@angular/router-deprecated': 'npmcdn:@angular/router-deprecated@'+angularVersion,
我收到这个错误:
system.src.js:43 Uncaught (in promise) Error: ROUTER_PROVIDERS is not defined(…)
这就是 plunkr here
我该如何解决这个问题?
在index.ts
中添加下一行
import { ROUTER_PROVIDERS, RouteConfig, ROUTER_DIRECTIVES } from '@angular/router-deprecated';
并在你的app2.ts文件中添加providers: [ROUTER_PROVIDERS]
。
你的 plunker 有几个问题。
在app/index.ts
:
添加导入:
import { ROUTER_PROVIDERS } from '@angular/router-deprecated';
import { HashLocationStrategy, LocationStrategy } from '@angular/common';
import { provide } from '@angular/core';
不是强制性的,但您应该删除 .ts
扩展名:
import { App } from './app2.ts';
应该是:
import { App } from './app2';
在app/home.ts
添加路径到templateUrl
:
templateUrl: './home.html'
变为:
templateUrl: './app/home.html'
在app/add_developer.ts
也把路径添加到templateUrl
:
templateUrl: './add_developer.html'
变为:
templateUrl: './app/add_developer.html'
常规:更新 *ngFor
表示法
考虑将 *ngFor
符号更新到最新。你在几个地方使用它。使用 let
而不是 #
。例如,在 app/home.html
:
<tr *ngFor="#dev of getDevelopers()">
应该是
<tr *ngFor="let dev of getDevelopers()">
Click here for your updated plunker(包括 *ngFor
更改)。
我在 system.config.js 中有这段代码,用于导入 angular2 的旧路由器(已弃用的路由器)。
'@angular/router-deprecated': 'npmcdn:@angular/router-deprecated@'+angularVersion,
我收到这个错误:
system.src.js:43 Uncaught (in promise) Error: ROUTER_PROVIDERS is not defined(…)
这就是 plunkr here
我该如何解决这个问题?
在index.ts
中添加下一行import { ROUTER_PROVIDERS, RouteConfig, ROUTER_DIRECTIVES } from '@angular/router-deprecated';
并在你的app2.ts文件中添加providers: [ROUTER_PROVIDERS]
。
你的 plunker 有几个问题。
在app/index.ts
:
添加导入:
import { ROUTER_PROVIDERS } from '@angular/router-deprecated'; import { HashLocationStrategy, LocationStrategy } from '@angular/common'; import { provide } from '@angular/core';
不是强制性的,但您应该删除
.ts
扩展名:import { App } from './app2.ts';
应该是:
import { App } from './app2';
在app/home.ts
添加路径到
templateUrl
:templateUrl: './home.html'
变为:
templateUrl: './app/home.html'
在app/add_developer.ts
也把路径添加到
templateUrl
:templateUrl: './add_developer.html'
变为:
templateUrl: './app/add_developer.html'
常规:更新 *ngFor
表示法
考虑将
*ngFor
符号更新到最新。你在几个地方使用它。使用let
而不是#
。例如,在app/home.html
:<tr *ngFor="#dev of getDevelopers()">
应该是
<tr *ngFor="let dev of getDevelopers()">
Click here for your updated plunker(包括 *ngFor
更改)。