私はコンポーネントが一方向バインディングをどのようにしているかを模倣しようとしていますが、計算されたプロパティと同じように動作させています。 Ember.Object.createに計算されたプロパティのようなバインディングを渡す
Parent = Ember.Object.extend({
color: 'red',
init: function() {
this.set('child', Child.create({ parent: this, color: Ember.computed.alias('parent.color') }));
}
});
Child = Ember.Object.extend({});
parent = Parent.create();
// returns AliasedProperty {altKey: "parent.color", _dependentKeys: Array(1)}...
// I want 'red' instead
parent.get('child.color');
は、だから私は
bindings are depreciated、 を知っているが、私はエンバーの1.10.1のための別の方法を見つけることができません:どのような何かをするだろう。また、
they are asynchronous、私はしたくないです。
私がこれをやっている理由は、Ember.Object
の間のデータダウンアクションアップパターンを持つことです。Child
には、Parent
で起きていることを知りたくありません。この力で、異なるバインディングでChild
という2つのインスタンスを作成できます。
したがって、作成時にバインディング/計算されたプロパティを定義します。つまり、ParentのプロパティをChildに渡しますが、createにバインドされます。
誰でもアイデアがありますか?
umあなたのコードの問題は何ですか?あなたが使用する前に 'Child'を定義するようなタイプミスを除けば、おそらく' Ember.compute'ではなく 'Ember.computed.alias'を意味します。また、クラスにエイリアスを定義する必要がありますが、以前のemberバージョンでは、作成中にも可能ですが、 '1.10'についてはわかりませんので、有効です。また、Emberの「1.10」が古代であることを実感していただきたいと思います! – Lux
が問題をアップデートしました。タイプミスで申し訳ありません。質問が更新されました。それは 'エイリアス'は作成時に有効ではありません.....新しいバージョンのためのアイデアはありません。作成上の解決策が大好きです。 – s12chung
「コンポーネントが一方向バインディングをどのようにしているか」とはどういう意味ですか? – locks