考虑以下模板:
<p>Hello, {{ name }}</p>
<button (click)="doLogin()">Login</button>
连同这个 TS 级:
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {}
既不name
也不doLogin()
存在。它仍然可以编译并运行而没有错误。只有当我尝试单击按钮时,才会收到错误消息doLogin is not a function in the browser's console。
我知道,这种行为(运行时错误)主要是由 Javascript 设计的。不过,我希望在编译时显示尽可能多的错误。使用 Typescript 完成了大部分工作。
但是,属性绑定似乎没有在编译时进行评估。在我看来,Angular-Compiler 应该能够做到这一点。我尝试将fulltemplatetypecheck设置为 true,但这似乎没有奏效。ng serve
用,ng build
和尝试过ng build --prod
。
有没有办法在编译时检测不存在的属性绑定?如果不是,这是预期的行为吗?
我正在使用 Angular 5.2.0、Typescript 2.5.3 和 Angular CLI 1.6.4