我在angular2(rc-1)中遇到问题,我通过组件绑定将一个字符串数组传递给我的函数。一旦数组长度超过10,我就会出错:
Unsupported number of argument for pure functions: 11
由于两个原因,这听起来有点奇怪:
arguments
关键字)组件选择器:
<tb-infinite-scroll
[tbDataProperty]="[
'prop1',
'prop2',
'prop3',
'prop4',
'prop5',
'prop6',
'prop7',
'prop8',
'prop9',
'prop10',
'prop11'
]"></tb-infinite-scroll>
在组件中:
@Component({
selector: 'tb-infinite-scroll',
inputs: [
'dataProp:tbDataProperty',
],
/*...*/
})
export class TbInfiniteScrollComponent {
public dataProp:any = '';
然后在组件模板中:
<div *ngIf="sharedServices.typeOf(dataProp) === 'object'">
<div class="tb-infinite-scroll__cell" *ngFor="let prop of dataProp">{{row[prop]}}</div>
</div>
堆栈追踪:
browser_adapter.js:77 Error: Uncaught (in promise): Unsupported number of argument for pure functions: 11
at resolvePromise (zone.js:538)
at PromiseCompleter.reject (zone.js:515)
at eval (application_ref.js:295)
at ZoneDelegate.invoke (zone.js:323)
at Object.NgZoneImpl.inner.inner.fork.onInvoke (ng_zone_impl.js:45)
at ZoneDelegate.invoke (zone.js:322)
at Zone.run (zone.js:216)
at zone.js:571
at ZoneDelegate.invokeTask (zone.js:356)
at Object.NgZoneImpl.inner.inner.fork.onInvokeTask (ng_zone_impl.js:36)
知道导致该问题的原因/任何解决方法吗?
提前致谢。
答案 0 :(得分:1)
我希望这可行:
<tb-infinite-scroll
[tbDataProperty]="tbDataProperty"></tb-infinite-scroll>
@Component({
selector: 'parent-component',
/*...*/
})
export class ParentComponent {
tbDataProperty = [
'prop1',
'prop2',
'prop3',
'prop4',
'prop5',
'prop6',
'prop7',
'prop8',
'prop9',
'prop10',
'prop11'
];