*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/