コードのどこかで、バグに遭遇しました。ブレークポイントを設定して、何が起こっているかを確認してみました。コンソールでオブジェクト「foo」を調べると、次のようになります。
foo.toString() > "<App.Foo:ember661:174009>" // all good
foo.get('isLoaded') > true
foo.get('isValid') > true
まだ:
foo.get('name') > null // Whereas it definitely has a name.
開発者ツールの [ネットワーク] タブを見ると、レコードの読み込みがまだ「終了」中であることがわかります。対応する URL については、「保留中」と表示されます。
このモデルの状態は何ですか? モデルが「完全に」準備ができていることをどのように知ることができますか?
UPDATE : Mike へのコメントによると、registerBoundHelper 関数内でこのレコードを検査していることを追加する必要がありました。したがって、私が見逃しているコンテキストの問題があると思います。それはそう:
... foo template ...
{{ name }} // properly set to a value
{{ my_helper this }}
... helpers ...
Ember.Handlebars.registerBoundHelper('my_helper', function(foo) {
return foo.get('name'); // name property is null!!
});
明らかな何かが欠けているに違いありませんか?
ありがとう、PJ