私はしばらくの間、Ember.js を使用してきました。今、私は修正できない奇妙な動作をしています。初めての経験ではありませんが、以前は少し変更を加えるとわかりました。しかし今、私は何が紛争を引き起こしているのか本当にわかりません。問題はコントローラで発生しています。テスト用に、この途方もなく単純なコントローラーがあります。
App.AppColleaguesController = Ember.ArrayController.extend
(
{
needs: ['app'],
aNumber: function()
{
return this.get('controllers.app.personId');
}
}
);
もちろん、そのプロパティは AppController で定義されています。
App.AppController = Ember.ArrayController.extend
(
{
loggedIn: false,
personId: -1,
personName: '',
location: '',
logOut: function()
{
if (window.confirm("Do you want log out?"))
{
this.set('loggedIn', false);
this.set('personId', -1);
this.set('personName', '');
this.set('location', '');
this.send('goToLogin');
}
}
}
);
私のテンプレートでは、次の結果が得られます。
... これは数字です: function () { return this.get('controllers.app.personId'); } ...
私のテンプレートは次のように簡単です。
...
This is a number: *{{aNumber}}*
{{debug}}
{{log aNumber}}
...
私のテンプレートのデバッグ ステートメントは、Firebug コンソールでこれを示しています。
...
Transitioned into 'app.colleagues'
function()
...
したがって、関数は「解釈」ではなく、文字通りエコーされるようです。実際、私はさらにいくつかのコントローラーでこの種の問題を抱えていますが、残りのコントローラー (8 個または 10 個のコントローラーのように多数) は問題なく動作しています。問題について何か考えはありますか?私の間違いですか、それとも Ember の問題ですか?
よろしくお願いします!あなたが私を助けてくれることを願っています。