如何访问backbone.js中的特定视图?

时间:2012-06-12 21:31:50

标签: javascript jquery backbone.js underscore.js

我有一个骨干viev,可以生成一个列表项视图。在render函数中,它遍历集合并使用一些标准代码生成每个子项视图,如下所示:

render: function () {
    _(this.collection.models).each(function(item){
        $this.appendItem(item);
     }, this);          
},

我想知道如何从项目列表中访问特定视图,例如在位置0或其他位置。我希望能够从该项目列表视图中触发该特定项目的功能。

1 个答案:

答案 0 :(得分:2)

嗯,这取决于appendItem函数的实现方式,我猜你在那里构建 SubViews

您可以将每个创建的SubView存储在一个Array中,这样Array就可以为您提供一种操作SubView的方法。

但是,如果我可以提供一条建议,我会说从开始就是代码味道。您可以操作与SubView关联的Model并使SubView听取此更改,而不是尝试操作具体的SubView。

然后你将开始考虑操纵模型而不是视图。