我有3个不同的视图,每个视图都有相同的el值:
el:"<div id='main-inner'>"
并在渲染函数中:
this.$el.html(html);
我被要求将所有这些组合到一个页面上,所以我正在尝试创建一个包含这些视图集合的主视图,并在其中呈现每个视图。问题是他们每个人都写入相同的元素#main-inner并在附加它自己的html值之前清除它的html。在从主/包装器视图渲染之前更改el值的正确方法是什么?这是最好的方式吗?
谢谢!
答案 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