0

So I have:

  1. Class MySuperBehavior extends Marionette.Behavior
  2. Bunch of classes extends Marionette.ItemView and uses MySuperBehavior, like tralalaView, trololoView etc

I want to create method into MySuperBehavior which every instance of TralalaView and TrololoView can use. How can I do it correctly?

Sample code to illustrate:

 var mySuperBehavior =  Marionette.Behavior.extend({
        awesomeNonStaticMethod: function(){
            console.log(this);
        }
    });

We suppose correct linking of classes

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
Daydreaming Duck
  • 2,110
  • 3
  • 18
  • 25

1 Answers1

1

I did like that:

 var mySuperBehavior =  Marionette.Behavior.extend({
        initialize: function(options, view){
            this.view.awesomeNonStaticMethod = this.awesomeNonStaticMethod
        }
        awesomeNonStaticMethod: function(){
            console.log(this);
        }
    });
Daydreaming Duck
  • 2,110
  • 3
  • 18
  • 25