tol*_*ard 3 javascript inheritance attributes ember.js
我尝试在两个View之间使用attributeBindings进行一些继承.
(function(exports) {
Ember.MobileBaseView = Ember.View.extend({
attributeBindings:['data-role', 'data-theme'],
'data-theme': 'a'
});
})({});
(function(exports) {
Ember.ToolbarBaseView = Ember.MobileBaseView.extend({
attributeBindings:this.get('attributeBindings').concat(['data-position']),
'data-position': function() {
Run Code Online (Sandbox Code Playgroud)
我试过this.get('attributeBindings').concat(['data-position'])和Ember.MobileBaseView.get('attributeBindings').concat(['data-position'])和Ember.MobileBaseView.attributeBindings .concat([ '数据位'])
也许,我应该只做attributeBindings:['data-role','data-theme','data-position'],但我宁愿找到更好的解决方案.
Ember.View#attributeBindings
是一个连接属性,这意味着如果您在子类中覆盖它,超级类中的值将被连接.所以这有效,请参阅http://jsfiddle.net/pangratz666/r72dz/:
Ember.MobileBaseView = Ember.View.extend({
attributeBindings: ['data-role', 'data-theme'],
'data-theme': 'a'
});
Ember.ToolbarBaseView = Ember.MobileBaseView.extend({
attributeBindings: ['data-position']
});?
Run Code Online (Sandbox Code Playgroud)