码迷,mamicode.com
首页 > Web开发 > 详细

AngularJS 笔记系列(四)控制器和表达式

时间:2016-06-24 14:44:55      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

控制器:在 Angular 中控制器是一个函数,用来向作用域中添加额外的功能。我们用它来给作用域对象设置初始状态,并添加自定义行为。

使用方法: var app = angualr.module(‘app‘,[]);

      app.controller(‘testController‘,function($scope){

        // do sth here
      })

控制器的嵌套:在整个应用中都会有父级作用域存在,除了孤立作用域以外,所有作用域都通过原型继承而来。他们都可以访问父级作用域。

默认情况下,当 AngularJS 在当前作用域无法找到某个属性时,就会向上寻找,一直追溯到$rootScope,如果最终没有找到,程序会继续运行,但是视图无法更新。

最佳实践:短小精悍,不应在 controller 中过多的操作 DOM 和 数据。复杂的业务逻辑应该放到服务和视图中去。

 

表达式:在 Angular 中,我们通过{{}}向$scope 上绑定变量的写法本质上就是表达式。当用$watch 进行监听时,Angular 就会对函数或表达式进行运算。

解析表达式:Angular 通过$parse 这个内部服务来解析表达式,$interpolate 服务返回一个函数,用以在特定的上下文中运算表达式。

<div ng-controller="MyController">
       <input ng-model="to"
             type="email"
             placeholder="Recipient" />
       <textarea ng-model="emailBody"></textarea>
       <pre>{{ previewText }}</pre>
</div>

 

angular.module(‘myApp‘, [])
       .controller(‘MyController‘, function($scope, $interpolate) {
// 
$scope.$watch(‘emailBody‘, function(body) {

           if (body) {
             var template = $interpolate(body);
             $scope.previewText =
               template({to: $scope.to});
           }
}; }); 

 

 

AngularJS 笔记系列(四)控制器和表达式

标签:

原文地址:http://www.cnblogs.com/Slim-Shady/p/5613907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!