我需要为Ember.View分配一个静态数据属性,如何在View对象而不是{{view }}
标签中设置它。
App.MessagesFormView = Ember.View.extend({
tagName: 'div',
classNames: ['modal', 'fade'],
didInsertElement: function() {
this.$().modal('show')
},
willDestroyElement: function() {
this.$().modal('hide')
},
})
答案 0 :(得分:6)
不幸的是,我没有足够的声誉评论Ola的答案,但我认为稍微好一点的方法是不使用字符串(引号中的文本)来表示数据属性属性名称。相反,在camelCase中编写属性名称,Ember会自动将其绑定到带连字符的属性绑定。例如:
App.MessagesFormView = Ember.View.extend({
tagName: 'div',
attributeBindings: ['data-backdrop'],
dataBackdrop: 'static', // Binds to data-backdrop. Awesome!
});
我希望这是有道理的!
答案 1 :(得分:4)
必须使用Ember.View对象的attributeBindings
和data-backdrop
或data-whatever
属性来完成此操作。
App.MessagesFormView = Ember.View.extend({
tagName: 'div',
classNames: ['modal', 'fade'],
// Set a data attribute, of a view, requires both an attribute binding and
// an attribute assignment
attributeBindings: ['data-backdrop'],
'data-backdrop': 'static',
didInsertElement: function() {
this.$().modal('show')
},
willDestroyElement: function() {
this.$().modal('hide')
},
})