backbone.js在调用render之前更改视图的el值

时间:2013-11-12 02:11:04

标签: javascript backbone.js views render el

我有3个不同的视图,每个视图都有相同的el值:

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

并在渲染函数中:

this.$el.html(html);

我被要求将所有这些组合到一个页面上,所以我正在尝试创建一个包含这些视图集合的主视图,并在其中呈现每个视图。问题是他们每个人都写入相同的元素#main-inner并在附加它自己的html值之前清除它的html。在从主/包装器视图渲染之前更改el值的正确方法是什么?这是最好的方式吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

初始化视图时将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; 
   }

});

现在你有了视图,每个渲染都在它自己的el。

希望这可以提供帮助。

答案 1 :(得分:-1)

您可以将el定义为全局并使用它。 例如:

App.Common.el =“”;

使用:

App.Common.el