簡體   English   中英

Angular:我可以將Observable附加到變量嗎?

[英]Angular: Can I attach an Observable to a variable?

這似乎不起作用,但沒有錯誤:

@Component({
  selector: 'geofinder',
  template: '<input type="text" class="form-control" [(ngModel)]="cityName" />'
})

export class GeoFinderComponent implements OnInit {

    cityName;

    ngOnInit() {
    let cityNameChange = Observable.from(this.cityName);
    cityNameChange.subscribe((data) => console.log(data));
    }

}

我在這里想要實現的是將一個Observable附加到變量,該變量在其值發生變化時觸發。 如果我可以將Observable綁定到輸入字段的keyup事件,我也會很高興,但它也拒絕工作。

你可以...

使用setter只需在那里添加處理

_cityName;

get cityName() {
  return this._cityName;
}

set cityName(name) {
  // do your stuff here
}

你可以...

拆分[(ngModel)]這樣你就可以用(ngModelChange)鈎子調用你的回調

'<input [ngModel]="cityName" (ngModelChange)="onChange($event)"/>'

cityName;

onChange(newCity) {
  // do your stuff here
}

你可以...

如果需要Observable,請使用Reactive Forms 您可以掛鈎FormControlFormGroupvalueChanges (這是一個Observable

formControl = new FormControl()

formControl.valueChanges().debounceTime(..).filter(..)

如果您以前從未使用過反應形式,那么您應該閱讀我上面鏈接的指南。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM