angularjs(step by step):controller

来源:互联网 发布:多空博弈指标源码 编辑:程序博客网 时间:2024/06/11 20:59

controller是什么:

官方的解释:一个controller就是一个用来填充添加 scope的构造函数

angular会定义一个controller对象,并通过ng-controller的指定将controll绑定到对应的DOM上,并为其分配一个  child scope(子scope)


用controller我们做什么呢:

  • 初始话$scope对象的状态
  • 给$scope对象添加行为
不能用controller做什么:
  • 直接操作DOM:controller应该只包含业务,如过放入操作dom的相关的显示逻辑会导致代码的可测试性变得很差(我们可以使用数据绑定的方式和directives指令去封装对DOM的操作)
  • 格式化输入 — 规定输入格式(使用 angular form controls代替)
  • 过滤输出 — ( 利用( angular filters) 代替.
  • 控制器之间共享代码或者状态 —使用( angular services )代替.
  • 控制别的组件的生命周期 (比如, 创建一个service的实例).
下面的代码将说明controller到底该做些什么:

html
<div ng-controller="LoverController"> <button ng-click="loveyou()">you</button> <button ng-click="lovehim()">him</button> <p>I love {{who}} !</p></div>
controller.js
var myApp = angular.module('spicyApp1', []);myApp.controller('LoverController', ['$scope', function($scope) {    $scope.who= 'Nobody';    $scope.loveyou= function() {        $scope.who='you';</span>    };    $scope.lovehim = function() {        $scope.who= 'him';    };}]);

  初始页面
      点击you按钮     点击him按钮

0 0