2016-07-25 4 views
1

でレンダリングカスタム要素は、@bindableデコレータでアウレリアカスタム要素に属性を渡すことが可能であるときに結合可能なデコレータが尊重されていない理由:<compose>によってレンダリングカスタム要素をドキュメントによれば、異なる方法で処理されているなぜCOMPOSE

export class ItemCustomElement { 
    @bindable model: Item; 
} 

<item model.bind="model"></item> 

データを渡すにはactivateメソッドが必要ですか? @bindableは尊重されません。

export class ItemCustomElement { 
    @bindable model: Item; 

    activate(model: Item): void { 
     this.model = model; 
    } 
} 

<compose view-model="./item" model.bind="model"></compose> 

ビューのカスタム要素の観点から、現在、<compose>かどうかで、使用されようとしている方法を知っておく必要があります。私はこの外部の決定からカスタム要素を分離するべきだと思う。どちらの場合でも@bindableを動作させることはできますか? <compose>によってレンダリング

答えて

0

カスタム要素は、その外側のスコープへのアクセス権を持っています。したがって、@bindableを使用する必要はありません。あなたはMYELEMENTクラス内someMessageプロパティにアクセスしますか、あなたの例では、この例にhttps://gist.run/?id=fae6b9c9c2e3a608a60522392329bae1

+0

を参照してください? – zakjan

+0

それは 'を'使用して「インポート」されたので、私はアクセスすることができました。作成を使用すると、要素は直接親のプロパティにアクセスできます –

+0

ええ、ビューのHTMLテンプレートです。ビューモデルのJSファイルについて質問しています。 this.someMessage' 'でそれにアクセスすることが可能であるので – zakjan