2

Guideからブール値の「Binding element attributes」を実行しようとしています。

JavaScriptは次のとおりです。

window.App = Ember.Application.create();

window.App.NumberTextField = Ember.TextField.extend({
  valueChanged: (function() {
    return this.get("controller").set("isNotCompleteId", this.get("value").length !== 6);
  }).observes("value")
});

window.App.LandingController = Ember.ObjectController.extend({
  isNotCompleteId: true
});

window.App.Router.map(function() {
  return this.route("landing", {
    path: "/"
  });
});

テンプレートは次のとおりです。

<h3>Example:</h3>
<script type="text/x-handlebars">    
<p>
    <a href="#"
       {{bindAttr disabled="isNotCompleteId"}}>
         Join number:
    </a>
    {{view App.NumberTextField valueBinding="idEntered" size="8"}}

    <p>{{idEntered}}</p>
</p>

</script>

このjsfiddleは(私が思うに)悪い動作を示しています: http://jsfiddle.net/csterritt/AaTpd/11/

結果ペインの「結合番号:」リンクを調べます。「無効」属性はありません(そうすべきだと思います)。テキスト ボックス内のテキストを 6 文字になるまで変更しても、属性は変更されません (6 文字になるはずです)。

HTML の 7 行目を {{bindAttr class="isNotCompleteId:foo:bar"}} に変更すると、期待どおりに動作します (ただし、クラスは "bar" として開始されるため、設定してもコントローラー属性は false として開始されます)。それは本当です...???)。

バグ?私の側の混乱?

ありがとう!

4

0 に答える 0