2017-12-29 9 views
0

Es ist eine einfache Angular4-Anwendung. Ich rufe eine Methode mit Interpolation. Es wird 4 mal ausgeführt.Warum wird der Interpolationsausdruck mehrmals ausgeführt?

app.component.ts

import { Component} from '@angular/core'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 
    title = 1; 



testing(){ 
    console.log('IN testing 0'); 

} 

private testing1(){ 
    console.log('IN testing 1'); 
} 
} 

app.component.html

<h2>{{testing1()}}</h2> 
<button (click)="testing()">Testing2 </button> 

Wenn die Seite druckt "in der Prüfung 1" mal 4 geladen wird. Wenn ich auf die Schaltfläche klicke, wird zweimal "IN test 1" ausgedruckt. Ich kann den Fluss nicht verstehen.

+0

hier ist ein [Thema] (https://stackoverflow.com/questions/24698620/dirty-checking-on-angular) Sie helfen, den Digest-Zyklus zu verstehen. – alphapilgrim

Antwort

0

Wenn Sie diese Funktion aufrufen, wird <h2>{{testing1()}}</h2> in jeder Änderungserkennung testing1() Funktion ausgelöst werden. deshalb ist seine Druckkonsole mehrere Male. Das ist eine schlechte Angewohnheit. anstelle der Verwendung verwendet eine Funktion eine Variable

Verwandte Themen