gpt4 book ai didi

javascript - this.$el.html 与 this.$el.append

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:06 29 4
gpt4 key购买 nike

this.$el.html 和 this.$el.append 在渲染模板时有区别吗?我对 js、backbone 等完全陌生。在我正在从事的当前项目中,我看到类似

this.$el.append(Project.Templates["template-library"](this.model))

外观。在这种情况下,此模板用于模态视图。然后说模态视图中的每个项目都有一行要显示在模态视图中。然后对于这些行中的每一行,模板将像这样呈现:

this.$el.html(this.template({ libraries: libraries.toJSON() }));

这两者有什么区别吗?为什么在某些情况下应该使用 append(),而在其他情况下应该使用 html()

最佳答案

对我来说,这实际上取决于您如何使用 View 的 render 方法。

有些人喜欢将render用作initialize的扩展,因为他们只使用一次,即 View 首次出现在页面上时,并经常调用它从初始化。使用这种样式,您可以安全地使用 append 而不必担心不小心添加元素两次,因为渲染不会运行两次。

或者,您可以将 render 设计为在 View 元素需要以某种方式更改时反复使用。 Backbone 很好地支持这种风格,例如。 this.model.on('change', this.render, this);。对于这种风格,append 会很烦人,因为在append 之前您必须经常检查元素是否已经存在。相反,html 更有意义,因为它会清除之前存在的所有内容。

关于javascript - this.$el.html 与 this.$el.append,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16049802/

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