Javascript Ember.js选择在隐藏并再次显示时重置

Javascript Ember.js选择在隐藏并再次显示时重置,javascript,jquery,ember.js,handlebars.js,ember.select,Javascript,Jquery,Ember.js,Handlebars.js,Ember.select,我有一个整数属性,它绑定到多个输入字段。第一个是range类型,第二个是数字,第三个是余烬。选择view。这些字段基于条件{{if visible}可见。当我移动滑块,然后通过设置visible=false隐藏字段,然后通过设置visible=true使字段再次可见时,绑定值属性将重置为null 示例如下: 在上面的示例中,尝试移动滑块,然后单击“隐藏”,然后单击“显示”。请注意,绑定属性已重置为null。还请注意,如果不触摸滑块并仅使用Ember.Select设置绑定属性,则一切正常。最后,当

我有一个整数属性,它绑定到多个输入字段。第一个是range类型,第二个是数字,第三个是余烬。选择view。这些字段基于条件{{if visible}可见。当我移动滑块,然后通过设置visible=false隐藏字段,然后通过设置visible=true使字段再次可见时,绑定值属性将重置为null

示例如下:

在上面的示例中,尝试移动滑块,然后单击“隐藏”,然后单击“显示”。请注意,绑定属性已重置为null。还请注意,如果不触摸滑块并仅使用Ember.Select设置绑定属性,则一切正常。最后,当我完全省略Ember.Select字段时,它也可以正常工作

这里发生了什么,如何防止重置属性


谢谢你的帮助

问题在于数字和字符串之间的转换。HTML元素始终存储值的字符串表示形式。请看这个答案:

我按如下方式更换了您的控制器,似乎每次都能正常工作:

App.IndexController = Ember.Controller.extend({
    bindvalue:'10',
    visible: true,
    numbers: function() {
      var arr = [];
      for (var i = 0; i <= 64; ++i) {
        arr.push(''+i);
      }
      return arr;
}.property(),
actions:{
  test:function(){
    alert(this.get("bindvalue"));    
  },

  toggle: function() {
    this.set('visible', !this.get('visible'));
  }
}
});