0

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

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

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

4

1 回答 1

2

嗯,这取决于appendItem函数是如何实现的,我猜你在哪里构建SubViews

您可以将每个创建的子视图存储在一个数组中,这样数组将为您提供一种操作子视图的方法。

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

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

于 2012-06-12T21:42:56.957 回答