Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript backbone.js在调用渲染之前更改视图的el值_Javascript_Backbone.js_Views_Render_El - Fatal编程技术网

Javascript backbone.js在调用渲染之前更改视图的el值

Javascript backbone.js在调用渲染之前更改视图的el值,javascript,backbone.js,views,render,el,Javascript,Backbone.js,Views,Render,El,我有3种不同的观点,每个观点都有相同的el值: el:"<div id='main-inner'>" 我被要求将所有这些合并到一个页面上,所以我尝试创建一个主视图,其中包含这些视图的集合,并呈现其中的每个视图。问题是它们都写入同一个元素#main internal,并在附加它自己的html值之前清除它的html。在从主视图/包装视图进行渲染之前,更改el值的正确方法是什么?这是最好的方法吗 谢谢 您可以将el定义为全局el并使用它。 例如: App.Common.el=“” 使用:

我有3种不同的观点,每个观点都有相同的el值:

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


谢谢

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

App.Common.el=“”

使用:


App.Common.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; 
   }

});
现在您有了视图,每个渲染都有自己的el


希望这能有所帮助。

让每个视图创建自己的
并将其放入
#main internal
中,然后调用
视图。删除()
在添加新视图之前清理旧视图。您能给我举个例子吗?我不明白为什么要调用view.remove()?在显示下一个函数之前,先调用上一个函数的
close
函数,然后绑定下一个函数
close:function(){this.stopListening();this.$el.empty();}
@UlugbekKomilovich:如果你想
$el.empty()
而不是
$el.remove()
,那么当已经有一个可以被覆盖的文件时,为什么要添加一个
close
?@muistooshort,我想说的是,使用
this.$el.empty()
,而不是
this.$el.remove()在本例中,您的初始值设定项是多余的。在本例中,我尝试以这种方式注入el值,但它不起作用:/
var myView = Backbone.View.extend({

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

});