私は Ember アプリを開発していますが、本当に素晴らしいです。しかし、私には解決できない厄介な問題があります。アプリでルーティングを使用し、独自のビューを持つ 2 つの異なるコントローラーを使用します。最初のコントローラーから 2 番目のコントローラーへのバインド プロパティを使用しようとすると、そのプロパティは 2 番目のビューに反映されません。簡単に言えば、次のようなものがあります。
router = Em.Router.extend({.....});
App = Em.Application.create({
Router: router,
FirstCtrl: Em.Controller.extend({x:'ABC'}),
FirstView: Em.View.extend({...}),
SecondCtrl: Em.Controller.extend({xBinding:'Em.App.router.firstCtrl.x', y:'123'}),
SecondView: Em.View.extend({...}),
});
App.initialize();
Em.App = App;
2番目のビューのテンプレートに次のようなものがある場合:
Binding property: {{x}}
Property with no binding: {{y}}
「ABC」はビューに表示されませんが、「123」ではそのような問題はありません。
私のブラウザでは、Em.App.router.firstCtrl.x を使用して Javascript コンソールからそのプロパティにアクセスできますが、Em.App.router.secondCtrl.x は未定義を返します。だから、私の質問はなぜそのプロパティにアクセスできないのですか? そのバインディングをどのように記述すればよいですか?
よろしくお願いいたします。