我有一个项目,前端是通过@angular/cli: 1.1.3
开发的。一切工作正常,直到我试图在prod模式下编译项目(ng build -prod
)。在这里我用*ngFor
指令与trackBy
令牌的地方我有这样的ngFor trackBy'T'上不存在属性'p'BY
... SRC /应用/ app.component.ts.AppComponent.html(4,11)的错误:属性 'P' 做在'AppComponent'类型上不存在。
如果我删除'trackBy'语句错误将会消失。 我在空白项目中重复了这个错误,将它附加在这里。
AppComponent类声明:
import {Component, OnInit} from '@angular/core';
import {Observable} from "rxjs/Rx";
@Component({
selector: 'app-root',
template: `
<ul>
<li *ngFor="let p of ppp | async;trackBy: p?.s">
<h2>{{p.s}}</h2>
</li>
</ul>`,
})
export class AppComponent implements OnInit {
ppp: Observable<any[]>;
constructor() {
}
ngOnInit() {
this.ppp = Observable.create((observer) => {
observer.next([{s: "0"}]);
setTimeout(function() {
observer.next([{s: "1"}, {s: "2"}, {s: "3"}]);
}, 2000);
});
}
}
的AppModule类声明:
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {AppComponent} from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {
}
是否有成功调用ng build -prod
并保持trackBy报表的方法;