zoukankan      html  css  js  c++  java
  • AngularJS 笔记系列(四)控制器和表达式

    控制器:在 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});
               }
    }; }); 
  • 相关阅读:
    数据库事务的四大特性
    MySQL数据库高可用性架构
    java中几种访问修饰符
    zookeeper的leader选举
    zookeeper的集群部署步骤
    MySQL索引设计原则
    SpringMVC框架知识点详解
    Spring框架知识点详解
    JAVA之DAY1
    JDK
  • 原文地址:https://www.cnblogs.com/Slim-Shady/p/5613907.html
Copyright © 2011-2022 走看看