我正在将此视图逻辑继承实现到EmberJ中,我想问两个问题。
App.MyBaseView = Ember.View.extend({
didInsertElement: function(){
// shared logic
}.on('didInsertElement')
});
App.FirstSpecificView = App.MyBaseView.extend({
didInsertElement: function(){
// this views specific logic
}.on('didInsertElement')
});
App.SecondSpecificView = App.MyBaseView.extend({
didInsertElement: function(){
// this views specific logic
}.on('didInsertElement')
});
" .on(didInsertElement)"有什么用?
如何使用" onDidInsert"和" didInsertElement"不同?
答案 0 :(得分:2)
我不是那么精通Ember JS,现在只使用它3个月,但首先......我从来没有见过这样的语法。我的意思是:
App.MyBaseView = Ember.View.extend({
didInsertElement: function(){
// shared logic
}.on('didInsertElement') //this :D
});
不需要这个'on('eventName')'。您只需将属性句柄添加到属性即可。所以它会像:
App.MyBaseView = Ember.View.extend({
didInsertElement: function(){
// shared logic
}
});
尽管如此,我假设你想从子类中的超类中调用方法。然后像这样使用它:
App.MyBaseView = Ember.View.extend({
didInsertElement: function(){
// shared logic
}
});
App.FirstSpecificView = App.MyBaseView.extend({
didInsertElement: function(){
this._super(); //this should call superclass method
// this views specific logic
}
});
App.SecondSpecificView = App.MyBaseView.extend({
didInsertElement: function(){
this._super(); //this should call superclass method
// this views specific logic
}
});