0
我創建了一個結構SpinnerDirective
,我使用的是這樣的:如何綁定到另一個屬性從結構指令中
<div *spinner="'spinner1'" spinnerMessage="Loading many things...">
<p>Hide this while loading...</p>
</div>
該指令的代碼如下所示:
@Directive({
selector: '[spinner]'
})
export class SpinnerDirective {
private _defaultMessage = 'Loading...';
@Input('spinner') spinnerName: string;
@Input('spinnerMessage') set message(messageStr: string){
console.log('setting message of', messageStr);
this._defaultMessage = messageStr || this._defaultMessage;
}
// ...
}
問題:setter方法(set message
)永遠不會被調用。
我懷疑這是因爲角「desugars」我的模板如下:
<template [spinner]="'spinner1'">
<div spinnerMessage="Loading many things...">
<p>Hide this while loading...</p>
</div>
</template>
但我仍然不知道如何從指令中訪問spinnerMessage
。任何想法?