2016-05-09 87 views
2

我在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

是陣列移動到類和單指持有該陣列的一個選項的變量?我猜Angular會監視所有變量的變化,以便在一個值發生變化時更新綁定,對於我來說,在這種情況下限制數量是有意義的。 –

回答

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' 
    ]; 
+0

我想你的意思是定義在父組件作用域(.tb-infinite-scroll是當前組件)而不是視圖中的數組?如果是,那麼我做到了這一點,它的工作原理,所以請編輯您的帖子,我會接受答案。謝謝。 –

+0

感謝您的反饋!這就是我的意思,只是沒有引起足夠的重視: - / –