首页 > 其他 > 详细

Angular 使用个人总结

时间:2016-02-23 18:51:56      阅读:154      评论:0      收藏:0      [点我收藏+]

1. 把控制器中与视图无关的逻辑都移到"服务(service)"中

2. 新手常犯错误

当在路由中已经指定了controller,就要把html中的移除,比如`<body ng-app="7minWorkout" ng-controller="WorkoutController">`,否则会有两个controller,会出现加载两次的情况。
$routeProvider.when(‘/workout‘, {
templateUrl: ‘partials/workout.html‘,
 
controller: ‘WorkoutController‘
});

3. 本质上,当写directive时令时。当我们设置了link参数,实际上是创建了一个postLink() 链接函数,以便compile() 函数可以定义链接函数。编译函数(compile)负责对模板DOM进行转换。 链接函数(link)负责将作用域和DOM进行链接。

....
compile: function compile(tElement, tAttrs, transclude) {
      return {
        pre: function preLink(scope, iElement, iAttrs, controller) { ... },
        post: function postLink(scope, iElement, iAttrs, controller) { ... }
      }
    },
link: function postLink(scope, iElement, iAttrs) { ... }
...

个人理解compile函数的功能更强。

详情内容:[译]ng指令中的compile与link函数解析

4. 使用ng-repeat指令,为防止重复值发生的错误。加上track by $index。

<li ng-repeat="i in ctrl.list track by $index">{{ i }}</li>

5. 关于向父子controller中传递内容。

  • `$emit` 只能向parent controller传递event与data
  • `$broadcast` 只能向child controller传递event与data
  • `$on` 用于接收event与data

Angular 使用个人总结

原文:http://www.cnblogs.com/mafeifan/p/5210602.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!