我可以使用多个el(div,ul或任何元素)作为backbone.js中的单个视图/模型

时间:2012-12-21 04:46:19

标签: backbone.js underscore.js

我知道这对你们大多数人来说可能听起来很愚蠢,但我正在开始理解backbone.js。我的意思是说,我们可以在一个视图中使用超过1 el /元素(无论是div,ul还是任何元素)? 更具体地说,在视图/模型中我们定义如下: el:'#some_id' 我可以在模型/视图中使用更多el以及如何访问它们中的每一个? 现在只有1 el,我们用这个指向那个特定的el,但是如果我们可以使用多个el怎么办? 希望你得到我想说的话。

2 个答案:

答案 0 :(得分:1)

最简单的方法可能是使用单个容器元素;您可以使用this.$("childelement")访问子元素。

您还可以向视图类添加更多元素,或创建复合视图(Marionette包含复合模式的一些示例)。关于Backbone的一个好处是它非常极简主义,因为它对你构建网站的方式施加了很少的限制。你可以随心所欲地扩展/修改它。

View.el的主要用途是:

  1. 接线活动。视图的events对象将监听器应用于el容器。
  2. View.remove从DOM中删除el
  3. 基本辅助方法this.$elthis.$("selector")是访问DOM的基本辅助方法
  4. 这些都是您可以轻松覆盖或创建自己的实现的方法。

答案 1 :(得分:0)

首先,模特对el的一无所知。

其次,视图实例只能附加到一个el。它可以操纵那个元素(this.$("#child"))内的元素。它可以操纵自身之外的元素,虽然这被认为是不好的风格。此外,您可以拥有该视图的多个实例,每个实例都连接到它自己的el。

我希望有所帮助。