2

在 Backbone.js 中使用视图时,我通常有以下部分:

  • 视图应附加到的目标元素,例如ul元素。
  • 表示列表项的模板。
  • 视图上的一个el元素,在本例中是一个li元素。

如果我渲染视图 Backbone.js 创建li元素,然后我通常将此渲染的东西附加到目标元素,例如使用 jQuery。

到现在为止还挺好。

我不明白为什么 Backbone.js 以li编程方式创建。为什么它不只是获取模板的内容并将其用于渲染?

对我来说,这似乎令人困惑,因为:

  • 在周围的 HTML 页面中,我有一个ul标签。
  • 在代表列表项的模板中,我没有标签li

Instedli由 Backbone.js 以编程方式创建并填充模板。

为什么是这样?

恕我直言,如果模板已经包含li. 我错过了什么?

4

1 回答 1

1

我的理解是 Backbone 需要一个元素来附加模板并进行操作。如果 Backbone 立即附加到页面上的 DOM 元素,则每次更新元素(添加项目)时,该过程都会慢得多。有许多在线教程解释了在将输出附加到 DOM 之前如何更好地生成输出。例如,如果我有一个 <ul> 标记并且我想附加 200 个 <li> 元素,那么如果我只是附加每个 <li> 而不是在内存中构建 html 并在之后附加它,你会注意到一个显着的延迟。

于 2013-03-16T16:10:30.700 回答