2017-01-12 13 views
0

ngForループにリストを表示するAngular2(2.4.0)アプリケーションがあります。リストが再描画されるたびにマウスが動くごとに気づきました。他の誰かが同様の行動に気づいていますか?そして/またはそれがこのような理由を知っていますか?再レンダリングなっているAngular2はすべてのマウスの動きで再レンダリングします

表:私はgetPersonsではconsole.logステートメントを追加しました()、それはすべてのマウスの動きにログオンなってき

<table class="responsive-table bordered highlight"> 
    <tbody> 
    <tr *ngFor="let person of getPersons()"> 
     <td>{{person.name}}</td> 
    </tr> 
    </tboby> 
</table> 

+2

コードを提供できますか? –

+0

質問を更新しました。 –

答えて

1

オブジェクトの配列を返すメソッドを使用することは、非常に悪い解決策です。 静的配列を反復するか、パイプを使用する必要があります(ケースによって異なります)。

には、例えば、コンストラクタ(またはngOnInit方式)で、あなたの関数を呼び出してみてください。

あなたtypescriptファイルで:

@Component({ 
    selector: 'some-selector', 
    templateUrl: 'template.html' 
}) 
export class SomeComponent { 

    someArray: any[]; 

    ngOnInit() { 
     this.someArray = getPersons(); 
    } 

    getPersons() { 
     //some code... 
    } 
} 

とHTMLファイル(template.htmlで ):

<tr *ngFor="let obj of someArray"> 
... 
</tr> 
関連する問題