来聊聊AngularJS

2013-12-11 20:00:52 +08:00
 akinoniku
挑你喜欢的topic说说就好

#1 factory和service 的实际应用场景就是是啥,比如我有个markdown,想“编译”成JSON,应该用哪个

#2 大型APP你喜欢怎样的结构? angular-seed 只适合简单的吧,我现在的做法是分成不同的小型APP

#3 如果一个站由多个APP组成,怎样控制载入呢?

#4 Directive 的参数搞清楚了吗? 我还是分不太清 preLink 和 postLink

#5 把什么样的东西抽成directive比较好?

#6 纯数据处理的逻辑,是不是不用写成angular的物件? 比如#1说的那个编译器
8677 次点击
所在节点    Angular
36 条回复
loading
2013-12-11 20:18:03 +08:00
#为什么选AngularJS而不是BackboneJS或EmberJS
akinoniku
2013-12-11 20:48:54 +08:00
@loading backbone 有点太轻了,剩下的原因主要是感觉Google靠谱
lwjhere
2013-12-11 21:03:21 +08:00
最近刚开始用anguarjs,谈谈我的理解
1、service和factory差不多,只是service是singleton;markdown编译成html吗?不用service/factory,直接用markdown.compile之类的就可以了(如果你有markdown的库)
2、这个看个人了,可以多个module(就是app)
3、一个页面如果有多个app的话,不太科学吧?或者试试在不同的标签上面架ng-app=xxx试试
4、不太了解
5、和dom交互的部分用directive
6、是的
pythoner
2013-12-11 21:36:09 +08:00
最近正好在接触angularjs,写了个应用练手,戳这里:http://www.angularjs.cn/A0od


#1 把service理解成ORM就可以了

#2 参考一下angularjs的开源项目

#3 同上

#4 没高清粗

#5 常用的指令。比如我有一个用来加载系统提示信息的东西需要在很多模板里使用,把它做成directive,这样的话就一个标签搞定了,比如:<message></message>

#6 这个直接写js就搞定了貌似
forgottencoast
2013-12-11 22:40:40 +08:00
knockoutjs呢?
RIcter
2013-12-11 22:55:00 +08:00
楼主~~~=3=
marrow
2013-12-12 05:24:25 +08:00
1. factory和service基本是一样的只是调用方式不同,service的接口更加适合直接传一个类进去,在coffeescript里比较方便

2目前主流推荐是按功能或者组件组织代码,在用ng-boilerplate,
参考http://trochette.github.io/Angular-Design-Patterns-Best-Practices/

4在某处看到过一个顺序图但是找不到了,举个栗子 http://jsfiddle.net/DLNc6/
yakczh
2013-12-12 08:54:35 +08:00
AngularJS 如果做后台管理界面,布局怎么搞成那种普通网站后台管理的界面?
上面是主要模块,左侧是选中相应模块的二级菜单
pythoner
2013-12-12 09:16:32 +08:00
@yakczh 这个问题跟angularjs问题不大吧。主要取决于你的html怎么写。
pythoner
2013-12-12 09:17:03 +08:00
写错了一个词。第二个“问题”换成“关系”
akinoniku
2013-12-12 09:21:55 +08:00
@RIcter =3=
akinoniku
2013-12-12 09:47:18 +08:00
@marrow

1. 请问这个有没有例子可以参考一下,coffee的,在service里面写class吗?

2. 那个slide教会我很多,谢谢

4. 看了这个还是不清楚什么情况用pre什么情况用post

十分感谢
se77en
2013-12-12 09:54:09 +08:00
@akinoniku 搜一下谷歌墓地,你就知道谷歌多么不靠谱了
se77en
2013-12-12 09:56:13 +08:00
akinoniku
2013-12-12 10:03:04 +08:00
@se77en 我觉得除了google reader,其它好像没那么严重

而且那些都是产品,又不是开源的什么技术,即使有一天google不开发了,我还能用旧版的或者哪个社区维护版的

比如jquery不更新了,对用jquery的软件来说,也不会有多大打击

只是google的东西总不会让别人买了然后闭源或者收费吧
teddy1004
2013-12-12 10:31:49 +08:00
记得以前看过一个博客里面说到 service 和 factory 的异同,是看 AngularJS 的源代码
翻了一下,下面分别是 factory 和 service 的代码

function factory (name, factoryFn) {
return provider(name, { $get: factoryFn });
}

function service(name, constructor) {
return factory(name, ['$injector', function($injector) {
return $injector.instantiate(constructor);
}]);
}

得出的结论是:service 就是调用了 $injector 注入器的 factory,简化数据共享的实现。factory 可以有自己的依赖,注入其他服务。service 貌似不行。
akinoniku
2013-12-12 10:48:44 +08:00
@teddy1004 service好像可以注入其他service,这应该也算注入?
agassi_yzh
2013-12-12 10:57:00 +08:00
最近也在学angularjs,用yeoman的这个generator https://github.com/DaftMonk/generator-angular-fullstack

可以用coffee和jade
teddy1004
2013-12-12 11:13:31 +08:00
@akinoniku 这个官方文档里面有说的,service 声明其他的 service 依赖其实还是通过 factory function 来的, http://docs.angularjs.org/guide/dev_guide.services.managing_dependencies
geew
2013-12-12 11:43:52 +08:00
还是比较熟悉backbone啊 backbonejs.org

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/92749

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX