0
同じ階層(兄弟)に2つのコンポーネントが横にあります。私は両方のモデルにモデルを渡しています。私はモデルデータをコンポーネントから変更していて、他のものからすべての変更をキャッチしたいが、コンポーネントのchangeイベントは値を変更するコンポーネントでのみ発生する。他のコンポーネントでは動作しません。どうすればこれを達成できますか?私はちょうど2つのコンポーネントを介して通信したい。アプリコンポーネントのプロパティを変更しても、他のコンポーネントで「変更」は発生しません。
{{applications-list rejectFormData=model.rejectFormData}}
{{reject-dialog rejectFormData=model.rejectFormData}}
APP /コンポーネント/拒絶dialog.js
export default Ember.Component.extend({
change() {
// this fires only when changed through this component
// I want this to fire even when changed from other components
alert('changed!');
},
actions: {
rejectApplication(formData) {
this.set('formData.application_id', 123);
}
}
});
:
APP /ルート/
APP /テンプレート/ applications.hbsをapplications.js /components/applications-list.js
export default Ember.Component.extend({
actions: {
rejectApplication (application) {
this.set('rejectFormData.application_id', application.Application.id);
}
}
});
代わりに 'Ember.set(formData、 'application_id'、123)'を 'applications-list'と同じようにしてみてください。また、私はコンポーネントの 'change()'フックについて認識していません。どこでそれについて読んだのですか? – locks