初学backbonejs 的问题


初学backbonejs,如何理解里面的路由这个概念,另外如何有效的来学习backbone,求方法~

backbone 前端

Falken 10 years, 2 months ago

用尽心力去忍受强迫式的流氓 MV* 设计

kiki123 answered 10 years, 2 months ago

我使用backbone已经3年了,现在在公司里也主要用backbone。建议如下:

1、不建议初学者看源码,能比较熟练使用了再去看源码比较事半功倍,否则就是事倍功半。

2、github上或者国外的开发者博客里有大量的教程,你可以结合backbone的官方文档边学边做

3、然后做自己的项目,遇到问题查stackoverflow

4、然后多看看github上被标星比较多的,而且跟你工作相关的项目源码

5、最后才是backbone的源码

有些人比较装逼,搞啥都说看看源码啥都会了。道理没错,但即使把源码看懂也不见得用得好,更何况尼玛啥都不懂看源码不考虑考虑投入产出的问题?

新吉恩的道标 answered 10 years, 2 months ago

url的hash改变,页面不会刷新,但是会触发一个事件。所有的SPA路由都是利用这个去做的。

HOSI-欠片 answered 10 years, 2 months ago

哈哈, 其实我前两月看的 Backbone 的源码, 虽然没完全看完, 但也差不多了.

结论: 个人观点, 如果你想用 Backbone , 最好的办法就是看源码!

建议先看 Backbone.Events , 这是 Backbone 很核心的一个功能! 提供所有其他组件间的 事件 机制.

Model , Collection , 两者个人感觉有很多相似之处, 主要面向数据存储.
View 其实挺简单的, 只要你稍微用过 jQuery , 看懂这块不是问题!

至于你说的 Router , 其实我看的不多, 因为尼玛 IE 是个奇葩, 而我又不是搞前端的! 还有那 正则表达式 简直要我命! 不过有大神写过文章解析这块: backbone库学习-Router - 无码帝 .

啊哈, 最后广告一记: Bacbone + RequireJS => backbone-requirejs-boilerplate

最最后, 只看 是没有用的, 别忘了 动手写 !

hundred answered 10 years, 2 months ago

我是实习开始才从公司项目当中学习 Backbone 的, 我觉得有现成项目去理解会比较好,
Backbone 大致属于 MVP, 你要理解他的工作方式才行.
Backbone 划分的几个部分是 Model, Collection, View, Router,
其中 Collection 是 Model 的集合, 当作 Model 的特殊处理就好了.

工作的流程大概是这样的:
创建 Model, 根据 Model 的数据渲染 View, 这样界面先出来.
然后是 View 上有事件监听, 有用于 Controller 的方法, 这些方法可以操作 View 和 Model.
另外 Model 上还有数据更新, 这些更新在 View 当中有额外的监听, 可以触发 View 更新界面.

此外, Model 跟 Model 之间相互监听, 进行数据的同步, 这也是有的.
View 跟 View 之间会有嵌套的关系, 可能相互间还有事件和调用.

Router 指的是网页地址, 也可以当成一个数据, 可以去操作, 也可以监听事件,
Router 改变可以触发操作, 对 View 进行替换跟增减等等..

当然我这样说可能对你刚开始没什么用...

巡音ルカ. answered 10 years, 2 months ago

Your Answer