javascript - How to change model and render Marionette view from another view -
i' ve got layoutview in marionette. give onrender method:
onrender: function() {                          this.showchildview("content", new canvasview({ model: this.model }));              this.showchildview("library", new libraryview());              this.showchildview("properties", new propertiesview({ model: this.model }));          }  in content there model, contains svg elements(for ex. line, ellipse...) properties. need change model in propertiesview. example need change line width or color , rerender "content" child view. how this? propertiesview consists of input sets. example:
line color: <input type="text" id="id_2" name="style" value= <%= linecolor %>>	  
you can use backbone event system. every time set model change event fires.
in propertiesview can add events user interaction. on every input set content model:
ui: {     'style': 'input[name=style]' }, events: {     'input @ui.style': 'oninputstyle' }, oninputstyle: function(){     this.model.set('style', this.ui.style.val()); }   and in canvasview subscribe them , change view accordingly:
modelevents: {     'change:style': 'onchangestyle' }, onchangestyle: function(){     this.$el.attr('style', this.model.get('style')); }      
Comments
Post a Comment