Skip to content

Latest commit

 

History

History
105 lines (65 loc) · 2 KB

第一弹:运行篇.md

File metadata and controls

105 lines (65 loc) · 2 KB

第一弹:运行篇

Angular JS 运行的基本环境

ng-app

定义作用域范围,可以在任何位置

建议在layout根部或是body上

<body ng-app="myApp">
    ...
</body>

----------------------

<section ng-app="myApp" class="page">
    ...
</section>

angular.module

声明模块名称,以及依赖的模块名

一般以模块的方式封装一系列业务逻辑,然后引入包含项目模块中,形成模块集合

var angular.module('app',[]);

----------------------

var angular.module('app',['ui.grid','modal']);

ng-controller

项目类控制器,包含属性,方法的集合,可以引入服务,进行逻辑流控制

注意:此处不要进行Dom操作,控制器按照Dom树结构有继承关系

// 函数式的方式注入服务,代码清爽
app.controller(function($scope, $timeout){
    $scope.message = 'Hello World';
    
    $scope.why = function() {
         console.log('为什么要做这么做');
    }
 
    $scope.what = function() {
         console.log('应该做成什么样子');
    };
    
    $scope.how = function() {
         console.log('怎么去做');
    };
    
    $scope.running = function() {
      $scope.why();
      $scope.what();
      
      // Angular js中延迟可以解决很多脏值检查带来的问题
      $timeout(function() {
          $scope.how();
      },10000);
    };
    
    // 初始化入口,方便程序流跟踪,debug
    $scope.running();
})

ng-(events...)

事件监听集合,常用ng-change, ng-blur,ng-focus,ng-keyup,ng-keydown等

注意:事件方法中,可以传入$event参数,里面有大量的有用信息

<input type="text" ng-model="message" ng-change="change($event)" ng-blur="blur()">
angular.module('app',[]).controller('AppCtrl',function($scope) {
  $scopee.change = function(e) {
    console.log(e);
  }
});

License

MIT License. © Running Lee