您的位置:首页 > Web前端 > AngularJS

AngularJS最佳实践

2016-03-12 16:38 489 查看
翻译自:Best Practices

命名要发布的代码

不用担心内部代码的指令前缀,但是一旦你计划开源你的代码,其需要被命名。

ng-
前缀预留给Angular内部使用

有目的的命名(例如:
i18n-
或者
geo-
)比任意的命名(
djs-
或者
igor-
)好很多

可以使用ui-alias移除第三方前缀。

只为原子事件使用
.$broadcast()
.$emit()
.$on()


在整个应用程序中相关的事件(例如用户授权或者关闭应用)。如果你希望特定于模块、服务或小部件的事件,你应该考虑使用服务、指令控制器或者第三方库。

$scope.$watch()
应该能满足这些需求

注入服务和直接调用方法同样有效

指令间可以通过指令控制器相互交流

让用户尽可能的使用表达式

ng-href
ng-src
支持
{{}}


使用
$attrs.$observe()
,因为表达式是异步的,并且可能改变

通过使用指令的Controller来扩展指令

你可以把方法和属性放在指令的控制器中,通过其他的指令获取到控制器。你甚至可以通过这样来覆盖方法和属性。

给控制器和指令添加销毁代码

在指令和控制器销毁前会触发事件。这给了拆解你的插件和监听的机会,来更好的实现垃圾回收。

注册
$scope.$on('$destroy', ...)
事件

恰当地利用模块

把你的代码分成相关的包,而不是横向切分你的模块,导致其不能被分解。这样的话,当你移除了一个模块,你的应用仍然可以继续工作。

检出angular-app/angular-app 当作一个例子

在多个
.config()
方法中定义路由

模块有自己的依赖

目录结构应该反应模块结构

使用NPM和Bower
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: