【发布时间】:2011-08-16 14:13:32
【问题描述】:
想象一个包含一些项目的列表。 每个项目都是一部电影,包括:
- 标题
- 星级排名(1-5)
- 添加到我的列表按钮
- 您可以发表评论的文本框
怎么做:
-
A) item 将监听 buttonClicked 事件,然后调用模型上的方法:
onClick: function(event){ this.model.addToMyList(); }不需要指定movieId,因为“模型”是针对这个项目的。在其他情况下,模型适用于所有项目。
-
B list 将监听一个项目以调度 buttonClicked 事件,从该事件中获取数据,并将调用模型上的方法:
model.addToMyList(movieId) -
C list会监听一个item去派发buttonClicked事件,这个事件会进行item的index(不是电影的id),然后找到movieId 使用列表中的索引,并将调用模型上的方法:
model.addToMyList(movieId)
【问题讨论】:
-
你能解释一下你所说的“最好”是什么意思吗?
-
灵活(可重复使用)和性能
-
好问题。我对此一无所知,但答案也会对我有所帮助——尤其是可重用性的关键问题。
标签: model-view-controller architecture