我想在几个时间内重复特定元素,所以我使用* ngFor指令和[1,2,3,4,5,6,7,8,9,10]这样的硬编码数组,并且工作得很棒.我实现了我想做的事情.
码
@Component({ selector: 'my-app',template: `<h1>My First Angular App</h1> <div *ngFor="let item of [1,10]"> {{item}}: My Element </div>` })
但是一旦我将数组大小增加到10以上,我就开始低于错误.哪个真烦人.
[email protected]?main=browser:355 Unhandled Promise rejection:
Unsupported number of argument for pure functions: 11 ; Zone: ;
Task: Promise.then ; Value: Error: Unsupported number of argument for
pure functions: 11(…) Error: Unsupported number of argument for pure
functions: 11
模板
<div *ngFor="let item of [1,10,11]"> {{item}} </div>`
我很想知道为什么一旦数组大小增加超过10就会发生错误?但另一个有趣的事情是当我在变量items = [1,11]中的组件中放入相同的数组并在* ngFor中使用了项目并且它得到了工作.
这种特殊情况背后有什么理由吗?如果我错过了一些简单/愚蠢的东西,我就是我.
解决方法
这只是Angular2模板解析器的一个限制,以避免解析器的复杂性(按设计).无论如何,将数据保存在组件实例中通常是个好主意.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。