次のプロパティを持つコントローラーがあります。
App.MyController = Ember.ArrayController.extend({
isSomething: false,
notSomething: Ember.computed.not('isSomething')
}
そして、何らかの理由で、デバッガーでコントローラーを見るとisSomething、「独自のプロパティ」セクションで定義しましたが、「App.MyController」のプロパティとしても定義しました。「App.MyController」では、デバッガーは「独自のプロパティによってオーバーライドされている」と主張していますisSomethingが、どうやってこの状態になったのでしょうか?
ちなみに、notSomething計算されたプロパティはfalseとして開始され、「独自のプロパティ」の値を変更してもisSomething変更されません (「App.MyController」セクションでは変更できません)。
アップデート
わかりました、上記のコードよりも複雑なようです。私はまだかなり暗いですが、ここで私が言えることは...
- これは、プロパティ
MyControllerを参照するテンプレートに条件付きのビューが各行に表示される配列コントローラーです。notSomething - 条件文が次のように指定されている
{{#if notSomething}}場合、上記のプロパティのオーバーライドは発生しませんが、それはビューでプロパティを探しているためだと思います...実際notSomething、コントローラーの変数の値を変更しても効果はありません。 - 条件ステートメントが次のように記述されている
{{#if controller.notSomething}}場合、上記は有効になります。
うまくいけば、それは少し役立ちます。どんな助けでも大歓迎です。
更新 2
デバッガーでコントローラーを見ることで私が意味することについて、いくつかの混乱がありました。うまくいけば明確になるスクリーンショットを次に示します。

実際のクラス名は UomsController ( ではありませんMyController) ですが、コード スニペットは直接的な表現であることに注意してください。