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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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方法,依赖注入中代码压缩的主要内容,如果未能解决你的问题,请参考以下文章

秒味课堂Angular js笔记------$scope.$watch和$scope.$apply

Angular JS 将 $scope 传递给 Modal

Angular.js 中 copy 赋值与 = 赋值 区别

angular.js小知识总结

angular js模块,angular js控制器

学习angular.js的一些笔记想法(上)