Marionette。添加方法以通过行为查看
Marionette. Add methods to view via behaviors
所以我有:
- Class
MySuperBehavior
扩展 Marionette.Behavior
- 一组 类 扩展了
Marionette.ItemView
并使用了 MySuperBehavior
,如 tralalaView
、trololoView
等
我想在 MySuperBehavior 中创建方法,TralalaView 和 TrololoView 的每个实例都可以使用该方法。我怎样才能正确地做到这一点?
示例代码说明:
var mySuperBehavior = Marionette.Behavior.extend({
awesomeNonStaticMethod: function(){
console.log(this);
}
});
我们假设 类
的正确链接
var tralalaView = Marionette.ItemView.extend({
behaviors: {
somebehavior: {
behaviorClass: MySuperBehavior
}
}
// some methods here
});
var instOfTralala = new tralalaView();
console.log(instOfTralala.awesomeNonStaticMethod()); // I want something like this
我很喜欢:
var mySuperBehavior = Marionette.Behavior.extend({
initialize: function(options, view){
this.view.awesomeNonStaticMethod = this.awesomeNonStaticMethod
}
awesomeNonStaticMethod: function(){
console.log(this);
}
});
所以我有:
- Class
MySuperBehavior
扩展Marionette.Behavior
- 一组 类 扩展了
Marionette.ItemView
并使用了MySuperBehavior
,如tralalaView
、trololoView
等
我想在 MySuperBehavior 中创建方法,TralalaView 和 TrololoView 的每个实例都可以使用该方法。我怎样才能正确地做到这一点?
示例代码说明:
var mySuperBehavior = Marionette.Behavior.extend({
awesomeNonStaticMethod: function(){
console.log(this);
}
});
我们假设 类
的正确链接var tralalaView = Marionette.ItemView.extend({
behaviors: {
somebehavior: {
behaviorClass: MySuperBehavior
}
}
// some methods here
});
var instOfTralala = new tralalaView();
console.log(instOfTralala.awesomeNonStaticMethod()); // I want something like this
我很喜欢:
var mySuperBehavior = Marionette.Behavior.extend({
initialize: function(options, view){
this.view.awesomeNonStaticMethod = this.awesomeNonStaticMethod
}
awesomeNonStaticMethod: function(){
console.log(this);
}
});