2016-10-27 2 views
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; 
    } 

    // ... 
} 

問題:セッターメソッド(set message)が呼び出されることはありません。

私は次のように角度が私のテンプレートを「desugars」ためである疑いがある:

<template [spinner]="'spinner1'"> 
    <div spinnerMessage="Loading many things..."> 
    <p>Hide this while loading...</p> 
    </div> 
</template> 

しかし、私はまだディレクティブ内からspinnerMessageにアクセスする方法がわかりません。何か案が?

答えて

0

次の構文が動作するはずです:

<div *spinner="'spinner1'; message: 'Loading many things...'"> 
    <p>Hide this while loading...</p> 
</div> 
関連する問題