Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 Can';t在特定分割后插入内容。Backbone.js_Javascript_Jquery_Dom_Backbone.js - Fatal编程技术网

Javascript Can';t在特定分割后插入内容。Backbone.js

Javascript Can';t在特定分割后插入内容。Backbone.js,javascript,jquery,dom,backbone.js,Javascript,Jquery,Dom,Backbone.js,以下是我得到的: ProductListView.js define(['jquery', 'underscore', 'backbone', 'views/ProductView', 'views/PaginatorView'], function($, _, Backbone, ProductView, PaginatorView) { var ProductListView = Backbone.View.extend({ className: 'productsL

以下是我得到的:

ProductListView.js

define(['jquery', 'underscore', 'backbone', 'views/ProductView', 'views/PaginatorView'], function($, _, Backbone, ProductView, PaginatorView) {
    var ProductListView = Backbone.View.extend({
        className: 'productsList',
        initialize: function() {
            this.render();
        },
        render: function() {
            // some initialization
            // that's for zurb grid                
            this.$el.addClass('twelve columns');

            for(var i = startPos; i < endPos; i++) {
                this.$el.append(new ProductView({ model: products[i] }).render().el);
            }

            this.$el.append(new PaginatorView({ model: this.model, page: this.options.page }).render().el);
            // this.$el.after(new PaginatorView({ model: this.model, page: this.options.page }).render().el);
            return this;
        }
    });
    return ProductListView;
});
虽然可以将
PaginatorView
附加到(
ProductListView
)视图中,但似乎不可能在其外部插入内容


您遇到过类似的情况吗?

this.
将失败,因为调用
render()
时,
this.
尚未插入DOM(它只是一个悬空的div)

主干鼓励您在插入视图之前等待视图的HTML内容准备就绪。这样,浏览器只需重新绘制一次窗口,性能会更好


根据经验,您应该只在主干视图中操作驻留在
this.$el
中的内容。

如果视图元素尚未添加到DOM(“断开”),调用它将不会更改元素或DOM。但是,它确实返回了一个包含两个元素的集合,您可以将其分配给
this.$el
,以便稍后追加它们。但我很确定这不是一个好的做法,因为a只纠缠在一个元素上。

好的,我会尝试将它移动到路由器上!我怀疑这是从DOM中分离出来的。谢谢这可能会导致一些问题,因为
el
$el
不再匹配,而且
setElement
也需要一件事。最后,您将使委托绑定到不完全是
$el
的对象。可能有用,但它闻起来很难闻,可以在你最意想不到的时候以新的有趣的方式出现。是的,这就是为什么我说“糟糕的练习”。以有趣的方式突破:-)
this.$el.after(new PaginatorView({ model: this.model, page: this.options.page }).render().el);