javascript - 如何在 ngFor 中实例化和使用后续数组?

标签 javascript html arrays angular typescript

*ngFor="let arr = ['foo', 'bar', 'sla']; let item of arr; let i = index;"

为什么在 let item of arr; 之前提供 arr 的实例化会引发 [object Object] 的异常,或者更确切地说为什么我不能这样做?

我不想做 let item of [...] 的原因是因为那时我还必须将这些信息放入我的 .ts 文件中我不想这样做。

我希望能够返回并从我的 html 中引用这个数组,所以我需要一种方法来引用声明的数组,而不用在数据文件中实例化它。

供引用的堆栈跟踪:

ERROR 
Error: [object Object]
Stack trace:
resolvePromise@webpack-internal:///./node_modules/zone.js/dist/zone.js:795:31
resolvePromise@webpack-internal:///./node_modules/zone.js/dist/zone.js:766:17
scheduleResolveOrReject/<@webpack-internal:///./node_modules/zone.js/dist/zone.js:844:17
ZoneDelegate.prototype.invokeTask@webpack-internal:///./node_modules/zone.js/dist/zone.js:425:17
onInvokeTask@webpack-internal:///./node_modules/@angular/core/esm5/core.js:4956:24
ZoneDelegate.prototype.invokeTask@webpack-internal:///./node_modules/zone.js/dist/zone.js:424:17
Zone.prototype.runTask@webpack-internal:///./node_modules/zone.js/dist/zone.js:192:28
drainMicroTaskQueue@webpack-internal:///./node_modules/zone.js/dist/zone.js:602:25

最佳答案

您需要像往常一样实例化您的数组,但之后您需要添加 as,这将允许您在 html 中引用该数组:

*ngFor="let item of ['foo', 'bar', 'sla'] as arr; let i = index;"

之后你可以按预期说{{arr.length}}

关于javascript - 如何在 ngFor 中实例化和使用后续数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50508396/

相关文章:

javascript - 在 Safari 和 Edge 中替代 audioContext.copyToChannel()

javascript - 如何在特定行暂停JS脚本执行?

javascript - 在尝试使用 (Date.now - Date) 方程计算年龄时更改 asp :textbox text using jquery. js

html - 如何覆盖 flexbox justify-content : space-between?

python - 将 for 循环生成的元素追加到数组中

javascript - 如何在页面加载事件上获取服务器上的客户端计算机时间

javascript - Array.prototype.filter() 的就地替代方法是什么

html - CSS,knockout.js : how to dynamically assign id to checkbox with foreach data-bind

c - 如何将 UInt64 数组转换为 UInt16 数组以执行多精度乘法?

java - 将 C 语言转换为 Java 语言