对于backbone的一点理解2 -- 左导航
上一篇我说了,backbone最大的好处是,model的变化引起view的自我更新,而这个model它是缓存在浏览器的,怎么更新呢,Todos的例子是用户在页面编辑更新。另外我也说了,playdata是一个报表展示为主的单页面,所以他的model其实并没有怎么用到,唯一有代表性的一点利用应该就是左导航吧。为此我结合savour的左导航设计,来简单说一下backbone的这个最大好处,水平有限,有误请指正。
这一段代码是左导航的model数据:
其他不多说,关键看到一个current属性,这个是左导航的当前位置。
这一段代码是左导航的view:
看到this.listenTo(this.model, 'change:current', this.render);这句话,它在view的initialize中,从而监视了change:current的变化。
这一段代码是savour的router:
可以看到 navView.model.set('current', 'mySavour'); 就是动态改变了浏览器中缓存model的current的值,backbone也就会相应的监听到这个改变,进而重新render页面对应部分,这里也就是左导航了。