Ember js输入绑定不起作用

时间:2014-06-05 08:46:02

标签: ember.js

这是我的模型

App.Lecture = Ember.Model.extend({                                                  
    id: Ember.attr(),                                                               
    name: Ember.attr(),                                                             

    videoId: function(){                                                           
        return this.get('id');  

    }.property('id')                                                                
});    

我正在尝试将模型属性id绑定到模板中的输入 -

<script type="text/x-handlebars" data-template-name="lecture">
    {{input bind-attr value=videoId}}
</script>

但没有渲染。什么是解决方案?

1 个答案:

答案 0 :(得分:0)

我不确定您是否使用Ember.Model。但here is the link是一个关于将输入值绑定到作为计算属性的模型属性的小例子。

以下是相关代码。需要注意的重要事项是如何在调用getter和setter时处理计算属性。

App.Lecture = Ember.Object.extend({
  id: 0,
  name: '',
  videoId: function(key, value){
    if(value) {
      //setter
      this.set('id', value);
    } else {
      //getter
      return this.get('id');
    }
  }.property('id')
});

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return App.Lecture.create({id:1, name:'Blessan'});
  }
});

{{id}}: {{name}}
{{input valueBinding=videoId}}