Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 514
Mujahid Avatar asked Dec 08 '22 18:12

Mujahid


1 Answers

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 :)

like image 96
Deeptechtons Avatar answered Dec 11 '22 08:12

Deeptechtons