当前位置: 代码迷 >> Web前端 >> backbone学习札记
  详细解决方案

backbone学习札记

热度:61   发布时间:2012-12-24 10:43:13.0
backbone学习笔记

太折腾了,这事一定得记下来。

?

在backbone中,假设有10组人(GroupView),每个组又有很多人(PersonView),这样需要循环展示GroupView,同时需要在GroupView中调用PersonView的render方法来渲染人员页面片段的生成。代码如下:

?

?

that.$(".groupList").append(persionView.render().$el.html())
?

?

?

上述代码看起来是没问题的,但是问题出现了:

?

在PersonView中定义的event事件怎么也不会产生。也就是在PersonView中定义的视图事件怎么都没用。

后来把代码改了,如下所示:

?

that.$(".groupList").append(persionView.render().$el)
?请注意上述代码去掉了最后的html()方法。其道理是不言自明的。如果把子视图生成的dom对象(此对象已经注册了各种event处理)换成对应的html纯文本代码append到父视图上,虽然展示是没问题,但事件全丢了。