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到父视图上,虽然展示是没问题,但事件全丢了。