为什么Backbone.js为视图创建新元素?

时间:2013-03-16 09:34:25

标签: backbone.js template-engine

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

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

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

到目前为止,非常好。

我不知道的是Backbone.js以编程方式创建li的原因。为什么它不只是采用模板的内容并将其用于渲染?

对我而言,这似乎令人困惑,因为:

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

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

为什么会这样?

如果模板已经包含li,那么恕我直言会更直截了当。我错过了什么?

1 个答案:

答案 0 :(得分:1)

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