*ngFor="let arr = ['foo', 'bar', 'sla']; let item of arr; let i = index;"
为什么在arr
之前提供let item of 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
答案 0 :(得分:5)
您需要像通常那样实例化数组,但之后您需要添加as
,这将允许您在html中引用数组:
*ngFor="let item of ['foo', 'bar', 'sla'] as arr; let i = index;"
之后,您可以按预期说出{{arr.length}}
。