首页 > 代码库 > Angular.js 学习二---$scope和$rootScope,Angular模块的run方法,依赖注入中代码压缩

Angular.js 学习二---$scope和$rootScope,Angular模块的run方法,依赖注入中代码压缩

一、$scope和$rootScope的区别

一句话总结:

$rootScope针对全局的作用域生效

$scope只针对当前的controller作用域生效

二、AngularJS模块的run方法

run方法初始化全局的数据,只对全局作用域起作用 如$rootScope

<script type="text/javascript"> 
 var m1 = angular.module(‘myApp‘, []); m1.run([‘$rootScope‘, function ($rootScope) { $rootScope.name = ‘hello‘; }]); </script>

 三、依赖注入中代码压缩问题

定义一个Controller,通常方法是如下代码,但是代码压缩的过程中function里面的参数有可能会变化,$scope有可能会变成$sc,或者是其他(这里的变化不可控制),一旦变化,下面绑定的值就会出错。

var app = angular.module("myApp", []);
app.controller(‘firstController‘, function ($scope) {
  $scope.name = ‘张三‘;
});

为了解决这个问题,在function外面加[],传入字符串,如下代码所示,因为字符串在压缩的过程中不会改变

var app = angular.module("myApp", []);
app.controller(‘firstController‘, [‘$scope‘, function ($scope) {
  $scope.name = ‘张三‘;
}]);

Angular.js 学习二---$scope和$rootScope,Angular模块的run方法,依赖注入中代码压缩