





















这是一个创建于 2207 天前的主题,其中的信息可能已经有所发展或是发生改变。
想尝试angular, 但是感觉angular的模板"不够 typescript", 例如官网上的一段template:
<h2>Products</h2>
<div *ngFor="let product of products">
<h3>
{{ product.name }}
</h3>
</div>
单纯看这个模板, 完全看不出来product的类型, 同时typescript和eslint也没能力管控这个模板中的变量。相对的来说, 在react的tsx中, typescript和eslint是能够对变量进行充分的静态分析的。
无意引战, 确实希望试试angular, 可是, 是我使用的姿势不对吗?
第 1 条附言 · 2020 年 5 月 29 日
是我的问题,第一次用 ng new my-app 的时候,不知道怎么回事,vscode 在模板文件中没有智能提示(甚至双大括号内的变量连高亮都没有),我还以为模板文件就是如此呢,刚刚在线尝试了一下才发现是有提示的。本提问终结
1 gouflv 2020 年 5 月 29 日 via iPhone你说的没错 |
2 wellsc 2020 年 5 月 29 日 via iPhone让我想起了 python 的 jinja2 |
3 Oktfolio 2020 年 5 月 29 日let product of products 不是 TypeScript 的特性吗? products 不就是 Product[] 类型吗?遍历出来不就是 Product 类型吗? |
5 hantsy 2020 年 5 月 29 日模板都是有自己一套指令体系(或者叫标签,或者其它),除了 C# /.net 那种带语言,还有传统 JSP 嵌套 Java ( JSP 2.0 支持 XML 语法) 痕迹比较深,其它都差不多。 |
6 FireFoxAhri 2020 年 5 月 29 日这个还好,至少 IDE 能提示变量补全,之前<ng-template>里面 let 的变量。IDE 补全都没有,前段时候试了试 好像总算有提示了,但是还是没有类型信息。。 |
8 faceRollingKB 2020 年 5 月 29 日吓得我赶紧看了一眼,webstorm 有的,2019.3.4 |
9 xiaoming1992 2020 年 5 月 29 日@FireFoxAhri 这我不太懂, 毕竟 Product 类型是在.ts 文件中定义的, 而在模板文件中, 编辑器都不知道 product 类型是什么, 怎么补全呢? |
11 ochatokori 2020 年 5 月 29 日 via Android用 angular language service 插件,其他类型都有检查,但是 for of 的不行,product 会是 any |
13 chinagxwei 2020 年 5 月 29 日很好奇,楼主 products 在组建类中不会是声明成 any 吧?如果声明是 product[]是会有提示的。难道我用的 IDEA 跟楼主不是同一个? |
14 xiaoming1992 2020 年 5 月 29 日@chinagxwei 我误解了,原来在`heroes.component.html`文件中,编辑器会自动去`heroes.component.ts`中找`hero`属性。 是我的问题,第一次用 ng new my-app 的时候,不知道怎么回事,vscode 在模板文件中没有智能提示(甚至双大括号内的变量连高亮都没有),我还以为模板文件就是如此呢,刚刚在线尝试了一下才发现是有提示的。 |
15 beyondex 2020 年 5 月 30 日 via Android因为模板和 ts 是分离的两个文件,一个.html 一个 .ts ,vscode 不知道对应哪个类型,webstorm 是可以很好的识别的,vscode 找找有没有插件吧。 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。