gpt4 book ai didi

javascript - 主干 View 在没有指定预定义 el 的情况下不呈现

转载 作者:行者123 更新时间:2023-11-30 17:46:45 25 4
gpt4 key购买 nike

我想做的是创建可以在不移除父元素的情况下移除的 View 。我发现当我直接在 View 上设置 el 属性时,当我 .remove() 它时,父元素也会被删除。

我试过创建一个只有 tagName 的 View ,以为它会把它弹出到 body 中,但事实并非如此,它似乎没有将其完全插入页面。

在不移除实际包含元素的情况下从元素中完全移除 View 的正确方法是什么?

最佳答案

我不确定“父元素”是否为 el

var DemoView = Backbone.View.extend({
el: "#container",
events: {
"click button": "removeSelf"
},
render: function () {
this.$el.append("<button>remove</button>");
return this;
},
removeSelf: function () {
this.remove();
}
});
new DemoView().render();

如果你点击按钮,#container会被移除;如果你不想#container被移除,只要不设置el 属性,DemoView 将创建一个空的 div,就像这样:

var DemoView = Backbone.View.extend({
events: {
"click button": "removeSelf"
},
render: function () {
this.$el.append("<button>remove</button>");
return this;
},
removeSelf: function () {
this.remove();
}
});
var demoView = new DemoView();
$("#container").append(demoView.render().el);

现在,如果您点击按钮,demoView 将被删除,但 #container 不会。

关于javascript - 主干 View 在没有指定预定义 el 的情况下不呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19993973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com