2017-02-10 16 views
3

我創造的角度2.演示應用程序,但同時這樣做,我得到這個錯誤:TrackBy必須是一個函數,但收到未定義的角2?

core.umd.js:3491 EXCEPTION:未捕獲的(在承諾):錯誤:錯誤security.component。 html:35:72由:trackBy必須是一個函數,但收到未定義。 錯誤:trackBy必須是一個函數,但收到undefined

任何人都可以建議我在下面的代碼中做錯了什麼?

security.component.html:

<h2>Template :</h2> 
<template ngFor let-hero [ngForOf]="heroes" let-i="index" let-odd="odd" [ngForTrackBy]="trackById"> 
    <div [class.odd]="odd">({{i}}) {{hero.name}}</div> 
</template> 

security.component.ts:

import { Component,Input } from '@angular/core'; 
@Component({ 
    moduleId :  module.id, 
    selector :  'security-component', 
    templateUrl :  '../views/security.component.html' 
}) 

export class securityComponent{ 

    private heroes = [ 
    {id: 11, name: 'Mr. Nice'  }, 
    {id: 12, name: 'Narco'  }, 
    {id: 13, name: 'Bombasto'  }, 
    {id: 14, name: 'Celeritas' }, 
    {id: 15, name: 'Magneta'  }, 
    {id: 16, name: 'RubberMan' }, 
    {id: 17, name: 'Dynama'  }, 
    {id: 18, name: 'Dr IQ'  }, 
    {id: 19, name: 'Magma'  }, 
    {id: 20, name: 'Tornado'  } 
     ]; 
} 

回答

0

SecurityComponent需要定義trackById

export class SecurityComponent { 
    trackById({id}: Hero) { 
    return id; 
    } 
} 
相關問題