を使用してプロパティを設定することができますが私のために働いた非同期呼び出しのための例です:
<button (click)="loadMore($event.target)">load more</button>
コンポーネント(擬似コード):
export class MyComponent{
button;
constructor(private _apiService: ApiService){}
ngOnInit()
{
this.load();
}
load()
{
this._apiService
.getAsyncFrom('/sample/url')
.subscribe(data=> {
// do something with your data
// enable it
if(this.button)
{
this.button.textContent = 'load more';
this.button.disabled=false;
}
});
}
loadMore(element)
{
// assign to class
this.button = element;
//disable it
this.button.textContent = 'loading...';
this.button.disabled=true;
this.load();
}
}
基本的にクラスに要素を割り当て、あなたがそれを必要な場所にアクセスします。
ありがとう、私のアイデアよりもクリーナー。 1つは、あなたはelement.attributes.disabled = trueでしたが、私のためにはうまくいかなかったと思いますが、element.disabled = trueが機能しました。私はそれを反映するためにあなたの投稿を編集しました。 – mkimmet
編集を承認しました。どうも – Meir