簡體   English   中英

骨架.js在調用渲染之前更改視圖的el值

[英]backbone.js changing el value of views before render is called

我有3個不同的觀點,每個觀點都具有相同的價值:

el:"<div id='main-inner'>"

並在render函數中:

this.$el.html(html);

我被要求將所有這些組合到一個頁面上,因此我試圖制作一個主視圖,該主視圖具有這些視圖的集合並在其中呈現每個視圖。 問題是他們每個人都寫入相同的元素#main-inner,並在附加自己的html值之前清除它的html。 從主視圖/包裝器視圖渲染之前更改el值的正確方法是什么? 這是最好的方法嗎?

謝謝!

初始化視圖時,將el移交給視圖:

var view1 = new myView({el:'#div1'});
var view2 = new myView({el:'#div2'});
var view3 = new myView({el:'#div3'});

在您看來:

var myView = Backbone.View.extend({

   initialize: function(options){
     this.el = options.el; 
   }

});

現在您有了Views,每個渲染都在自己的el中。

希望這會有所幫助。

您可以將el定義為global並使用它。 例:

App.Common.el =“”;

采用 :

通用應用程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM