Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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垃圾收集_Javascript_Backbone.js_Garbage Collection - Fatal编程技术网

Javascript垃圾收集

Javascript垃圾收集,javascript,backbone.js,garbage-collection,Javascript,Backbone.js,Garbage Collection,我有扩展主干的基类。视图类。 我通过构造函数传递一个Jquery DOM元素,这个对象是垃圾收集的候选对象吗 var MainView = BaseView.extend({ initialize: function(o) { this.container = o.myJqueryDomElement; this.render(); }, render: function() { this.container.append(this.$el); }

我有扩展主干的基类。视图类。 我通过构造函数传递一个Jquery DOM元素,这个对象是垃圾收集的候选对象吗

var MainView = BaseView.extend({
  initialize: function(o) {    
    this.container = o.myJqueryDomElement;
    this.render();
  },
  render: function() {
    this.container.append(this.$el);
  },
  dispose: function() {
    this.remove();
  }
});
在我的代码中,我会这样做:

var mainView = new MainView({
  myJqueryDomElement = $('#content')               
});

首先,您应该将jQuery元素作为
el
传递,所以

var MainView = BaseView.extend({
    initialize: function(o) {    
        this.render();
    },
    render: function() {
        this.html(someTemplate)
    },
    dispose: function() {
       this.remove();
    }
});

var mainView = new MainView({
  el: $('#content')               
});

然后,这将作为jQuery对象通过
this.$el
在整个对象中可用,并且视图不应该只知道它所在的元素就知道它的容器。因此,如果您希望此视图成为主视图,请将选择器更改为
$('#content.main')
或只是
$('#main')

,然后。。。你的问题是什么?是的,我还有…还有?有什么问题或什么不起作用?多花一点力气来说明你的问题是什么,我们将不胜感激!很抱歉,我犯了一个错误,我在编辑和保存时不想发布!有人可以投票重新打开吗?我理解你们关于容器的观点,但我的问题是关于垃圾收集的。我将传递一个对象,而不是jQuery元素。