在前面的几个文章中,我们的数据都是以函数的方式定义在全局的作用域下,这样很显然是不对的,没有模块化的思想,下面的例子介绍Angular的模块化!
<!DOCTYPE HTML><html ng-app="myApp"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>AngularJs模块化</title><script type="text/javascript"src="https://code.angularjs.org/1.3.8/angular.min.js"></head><body><div ng-controller='Aaa'> <p>{{name}}</p></div><div ng-controller='Bbb'> <p>{{name}}</p></div><script type="text/javascript">var m1 = angular.module('myApp',[]);//参数1:模块的名字,参数2:当前模块中依赖的模块,後面的文章会介绍m1.controller('Aaa',function($scope){ $scope.name = 'hello AngularJs';});m1.controller('Bbb',function($scope){ $scope.name = 'Hi';});</script></body></html>
首先在html上绑定初始化的名称,并附上myApp,使用angular.model在JS中定义多个模块,并附上参数。
再使用控制器定义数据,注意控制器传递的参数,模块名和匿名函数。
都知道我们的项目在上线後合并压缩的,这样我们匿名函数传递的形参在压缩後出现问题,所以这个时候我们需要将参数包裹成数组,来避免压缩的问题!
m1.controller('Aaa',['$scope',function($scope){ $scope.name = 'hello AngularJs';}]);m1.controller('Bbb',['$scope',function($scope){ $scope.name = 'Hi';}]);
这个时候注意控制器传递的参数,模块名和数组(包含服务和匿名函数)。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持武林网!
新闻热点
疑难解答