2016-06-14 15 views
-1

EmberJSでは比較的新しいです。私はカバーの下で何が起こっているのかを理解しようとしています。 私は計算されたプロパティのために、this.get( 'propertyName')を使ってプロパティを計算して取得する必要があることを理解しています。値を持つ通常のプロパティについて話しているだけであれば、this.propertyNameとthis.get( 'propertyName')の使用の違いは何ですか?this.propertyName VS EmberコンポーネントのThis.get( 'propertyName')

import Ember from 'ember'; 

export default Ember.Component.extend({ 
    data: ['foobar', 'foo', 'bar'], 
    didInsertElement() { 
    let data = null; 
    data = this.get('data'); 
    // VS 
    data = this.data; 
    } 
}); 

答えて

1

これは、すでにエンバーのメソッドやプロパティの定義がある

(私はまだ「可能重複」として、この質問をマークすることはできません)ここで詳細にWhen to use getters/setters and when to safely omit them?

に答えています バニラJavaScriptと同じですが、Emberでは別の方法で解決されています。 はPOJOと連携していません。 Route/Controller/Viewから拡張するたびに、 メソッドとプロパティを別々に処理するEmberレイヤーを追加します。

プロパティに直接アクセスすることはお勧めしません。非常に単純なケースでは大丈夫かもしれませんが、同じ値を得ることはできますが、より複雑なケースでは異なる値が得られる可能性があります。

PS:計算されたプロパティは、それらが再計算される瞬間であるため、常にget()を介してアクセスする必要があります。私はEmberが何らかの形で値をキャッシュしていると思いますが、私はまだ初心者です:)

関連する問題