Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 当绑定不存在的属性时,是否可以使角度编译器抛出错误?_Angular_Typescript_Angular Compiler - Fatal编程技术网

Angular 当绑定不存在的属性时,是否可以使角度编译器抛出错误?

Angular 当绑定不存在的属性时,是否可以使角度编译器抛出错误?,angular,typescript,angular-compiler,Angular,Typescript,Angular Compiler,考虑以下模板: <p>Hello, {{ name }}</p> <button (click)="doLogin()">Login</button> name和doLogin()都不存在。但它编译和运行时仍然没有错误。只有当我尝试单击按钮时,才会收到错误消息doLogin不是浏览器控制台中的函数 我知道,这种行为(运行时的错误)主要是由Javascript设计的。不过,我希望在编译时显示尽可能多的错误。使用Typescript可以完成大部分工作

考虑以下模板:

<p>Hello, {{ name }}</p>
<button (click)="doLogin()">Login</button>
name
doLogin()都不存在。但它编译和运行时仍然没有错误。只有当我尝试单击按钮时,才会收到错误消息doLogin不是浏览器控制台中的函数

我知道,这种行为(运行时的错误)主要是由Javascript设计的。不过,我希望在编译时显示尽可能多的错误。使用Typescript可以完成大部分工作

但是,属性绑定似乎不会在编译时进行计算。在我看来,Angular编译器应该能够做到这一点。我试着设置为真,但这似乎不起作用。使用
ng serve
ng build
ng build--prod
进行了尝试

是否有方法在编译时检测不存在的属性绑定?如果不是,这是有意的行为吗?


我正在使用Angular 5.2.0、Typescript 2.5.3和Angular CLI 1.6.4

该功能将在Angular 6上提供。基于

我们有一个名为fullTemplateTypeCheck的新编译器设置(请参阅 ) 这将揭示这个错误

此设置将成为Angular 6中的默认设置,并且高度可用 推荐。我们没有在Angular 5中打开以不破坏现有的 用户。也就是说,你在这里看到的行为正是用户看到的 在第四节

角度6以下

您可以使用来实现这一点。 我使用visual studio代码验证不存在的属性绑定和方法

它不会阻止您编译,但仍会显示错误

TS Lint将验证组件中未找到的
方法、属性


angular CLI仍能成功编译您的代码。

我假设您正在尝试使用
ng serve
?以及ng build和--prod。我更新了问题。我忘了在IDE中使用TSLint,但我们可以将其添加到构建过程或git钩子中,以防止代码被破坏……您将其添加到构建过程中了吗?还没有,可以。但我仍然很好奇,这是否也适用于编译时-当它不适用时,如果(以及为什么)这是ng编译器的设计问题。请看一下这个
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {}