html - 如何在编译时以 Angular 检查不正确的属性名称

标签 html angular typescript visual-studio-code

我开始使用 Angular 并构建一些练习应用程序。我的背景主要是 knockout.js,到目前为止,我非常喜欢我在 Angular 2/4 中看到的大部分内容。

但是,有一件事让我觉得有些奇怪。在学习过程中,我犯了几个拼写错误或属性错误(例如忘记在 ngFor 中使用循环变量),但 VS 代码、CLI linter 和 angular 本身都没有抛出任何错误。例如,如果我在组件的 .ts 文件中有一个名为 myProperty 的属性,并且我不小心将 {{myProporty}} 键入到我的 html 模板中,我不会收到任何错误.只有一个空格,没有输出,留给我自己去尝试找出我做错了什么。在一个简单的模板中,这很容易,但至少有一次它让我在试图弄清楚我错过了什么时耽搁了好一阵子。

我注意到,如果在 @Component 装饰器标记中内联声明模板,linter 实际上确实 抛出错误。在这种情况下,运行 ng lint 会出现错误,您尝试访问的属性“myProporty”在类声明中不存在。 但是,如果我的模板位于它自己的 html 文件。

我不确定我是否遗漏了“严格”​​设置,或者这是否只是一个工具问题,但对于没有对此类事情进行任何类型的检查似乎很奇怪。 VS 代码似乎也没有针对这些事情的任何智能感知,尽管我不知道这可能是 VS 代码问题。

只是想知道是否有人知道可以检查这些东西的插件,或者是否有我错过的 CLI 命令或其他东西。

最佳答案

也许其他人知道更好的解决方案,但我四处搜索,似乎这种 html 验证是 Angular 的一个持续开发领域。

与此同时,我确实找到了一个有用的 VS 代码扩展来解决我的智能感知问题:https://github.com/angular/vscode-ng-language-service

最新版本 (0.1.5) 似乎已损坏,但 0.1.4 为我的所有 html 模板提供了智能感知,我认为这将有很大帮助。

关于html - 如何在编译时以 Angular 检查不正确的属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45868847/

相关文章:

javascript - 使用 createSpyObj 创建 spy 时 callThrough 不起作用

angular - 错误 TS1005 : ';' expected. TypeScript Angular 6 For First Build error rxjs inside node_modules

html - 如何在不失去交互性的情况下添加 'frame' 图像 (png)

java - 使用 Java 和 JSP 按行迭代表时丢失数据

javascript - 尝试将 .dae 文件转换为 .gltf 文件,以便我可以与 cesium 3d 模型一起使用

javascript - 如何禁用没有 id 的单选选项按钮并使用 angular renderer2

Angular 2构建单个模块

html - 位置 :absolute; not working

javascript - 所有样式组件返回任何 (@types/styled-components)

typescript - 从 React 组件导出 TypeScript 类型的字符串 prop 值?