2017-06-28 99 views
2

我需要一些幫助,通過文本輸入類設置變量,角2變變量通過輸入

nameChange(str){ 
    this.service.setName(str); 
    console.log(str); 
} 

有一個例子類,它修改變量,那麼應該如何投入的樣子,當我只需要在輸入更改時隨時修改變量?

+0

如果你正在尋找更細粒度的控制,來看看這篇文章:HTTPS://stackoverflow.com/questions/32051273/angular2 - 和反跳 –

回答

1

可以攔截與一個二傳手輸入屬性發生變化,試試這個:

//組件:

@Component({ 
    selector: 'my-component', 
    template: '<h3> My component </h3>' 
}) 

export class MyComponent { 
    @Input() 
    set name(str: string) { 
     this.service.setName(str); 
     console.log(str); 
    } 
} 

// HTML其中組件用於:

<my-component [name]="Bombasto"></my-component> 
1

您可以使用雙向數據綁定。

例子:

<input [(ngModel)]="property"> 

<p>{{property}}</p> 

看看here

如果你想打電話像一個代碼中的功能,使用此:

<input (input)="nameChange($event.target.value)"> 
2

您必須使用ngOnChange這種情況下的事件如下。因此,只要你輸入變量myVar值改變,它會調用ngOnChanges事件

@Input() myVar:any; 

ngOnChanges(changes: any) { 
    if (changes.myVar != null && changes.myVar.currentValue != null) { 
     //your logic to update any variable or other.... 
    } 
}