渲染页面时未分配false的Ember类属性

时间:2014-12-28 17:48:59

标签: javascript css ember.js

渲染页面时未分配false的Ember类属性。 我有两个按钮元素是/否。无效按钮有一个呈现不透明度的类:.3 这工作正常。但是,我需要在这些按钮上设置默认行为,以便在呈现页面时“是”处于非活动状态。应该很简单我只是相应地设置属性。但是,它没有为false值添加适当的类。

希望我很清楚我想要做什么以及问题是什么。谢谢你的时间。

我制作了一个JSbin http://jsbin.com/vixayatuda/1/edit?html,css,js,output

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

App.ApplicationController = Em.Controller.extend({
  takingTrade: false,

  actions: {
    makeTrade: function() {
      this.set('takingTrade', true);
    },
    makeNotTrade: function() {
      this.set('takingTrade', false);
    }

  }
});


<script type="text/x-handlebars">
  <button {{action 'makeTrade' this}} class="btn btn-success" {{bind-attr class="takingTrade::inactive"}}>YES</button>
  <button {{action 'makeNotTrade'}} class="btn btn-success" {{bind-attr class="takingTrade:inactive"}}>NO</button>
  <p>{{takingTrade}}</p>
</script>

1 个答案:

答案 0 :(得分:1)

ember docs(http://emberjs.com/guides/templates/binding-element-class-names/#toc_static-classes)声明

  

无法组合绑定类名和静态类名。

因此,您的“是”按钮应如下所示:

<button {{action 'makeTrade' this}} {{bind-attr class="takingTrade::inactive :btn :btn-success"}}>YES</button>

请参阅完整示例here