2016-06-21 3 views
0

道場変数置換は、ウィジェットの存続期間中に変更されない値に対してのみ推奨されるのはなぜですか?

における変数置換

変数置換について:

$: テンプレートは、値がこのような に見える単純な変数のプレースホルダの構文を使用ものの をレンダリングDOMに設定することができます{プロパティ}

テンプレート内の変数置換は、ウィジェットの存続期間中に変更されない値 にのみお勧めします。 という単語では、アプリケーションのプログラム期間中に ウィジェットのプロパティの値をプログラムで設定できると思われる場合は、 では、ウィジェットのpostCreateメソッドを使用して、 変数をプログラムで設定することをお勧めします) 方法。

誰かがこの推奨が行われた理由を説明できますか?

+0

この回答はあなたの質問に答えるのを助けることができますhttp://dojo-toolkit.33424.n3.nabble.com/Clarification-on-templates-td3929384 .html – GibboK

+2

おそらく 'angularjs'のような双方向データバインディングを期待している人向けです –

答えて

1

Dojoの変数の置換にはバインドがありません。 これは、変数の実際の値を変更しても変更されないことを意味します。

バインディングが必要な場合は、その値にアタッチポイントとセッターを使用できます。それはバインディングを持ち、UIは新しい値で更新されます。このような 何か:

_setLabelAttr : { 
     node : "_tplLabelNode", 
     type : "innerHTML" 
    }, 

は、ウィジェットの「ラベル」プロパティにポイント_tplLabelNodeを添付のinnerHTMLバインドします。
したがってwidget.set('label', 'foo');はUIを更新します。

<div>${label}</div>にはバインドがありません。 ${label}はウィジェットの作成時に置き換えられ、決して更新されません

関連する問題