Mujahid
Mujahid

Reputation: 1237

How to call a function in a backbone view from another backbone view

In my current application, I have a save function in one of my backbone views.

custom_save : function() { // this method's save code // have to call another views save function here }

The other view name is App.SettingsView and it has a save method. I have to call this save method right after the custom_save logic. How can I call App.SettingsView save function inside custom_save function. Please not both are 2 different files

Thanks

Upvotes: 4

Views: 8187

Answers (2)

Deeptechtons
Deeptechtons

Reputation: 11125

It's a bad practice you got there. Coupling between the views. Why don't you create a EventBus that inherits from the Backbone.Events then trigger the event that the another view subscribes too. When event occurs just trigger the save function that's it

View#1 Save

save:function(){
 EventBus.trigger("save:view");
}

View#2 Save

initialize:function(){
 EventBus.on("save:view:",this.save);
},
save:function(){
//your code
}

Sounds nice ? It should :)

Upvotes: 11

Infinity
Infinity

Reputation: 3875

Create a new view object and call it.

var anotherView = new App.SettingView();
anotherView.save();

Upvotes: 3

Related Questions