2012-02-03 3 views
5

Ember.jsのモデル、ビュー、およびコントローラのクラスが少し冗長になっています。これの一部はthis.attrの代わりにthis.get('attr')と書かれています。Ember.js:this.get( 'attr')を避けるにはOKですか?

属性がバインディングではなく直接宣言されている限り、常にthis.attrと書いても問題ありませんか?

(私は設定が異なる問題であることを理解して - 。あなたは常に依存の属性やテンプレートを更新するためにthis.set('attr', value)を呼び出す必要があります)

答えて

5

IIRC、あなたはされません知っている民間の性質のためにこれを行うことができます観察可能である。

この規約では、プライベートプロパティの先頭にアンダースコア(_myPropertyなど)を付けることで、Emberにバインドしないように指示します。

.get()のドキュメントを参照してください。そうなら、source codeを確認してください。

+0

リンクが壊れているようです。 – rjhilgefort

3

プロパティが監視またはバインドされている場合、 'this.attr'を実行したくないです。 getコマンドは、オブザーバとバインディングがトリガされるネクサスです。

+1

興味深い。どのような状況下でgetコマンドがオブザーバーまたはバインディングをトリガーしますか?私はそれが受動的に現在の値を読み取ると思った。 (私は、オブザーバとバインディングを引き起こすために、セットを取得していないと期待していました) –

+0

@JoLiss:他のプロパティなどに依存する計算されたプロパティを読み取ろうとすると、そうなるでしょう。 –

関連する問題