AngularJS中的模块化

AngularJS的模块化实现

example.html

<html data-ng-app="HelloAngular">
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <div data-ng-controller="helloCtrl">
      <p>{{greeting.text}},Angular</p>
    </div>
     <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
     <script src="app.js"></script>
  </body>
</html>

app.js

//定义一个模块
angular.module('HelloAngular', [])
  //创建一个控制器
  .controller('helloCtrl', ['$scope',function($scope){
	  $scope.greeting = {
			  text : 'Hello'
	  }
  }]);

/*
 *全局函数写法已废弃,因为会造成全局空间的污染
  function HelloAngular($scope) {
	  $scope.greeting = {
			    text : 'Hello'
	  };
  }
*/

运行结果:

使用ngRoute进行视图之间的路由

$routeProvider是一个用于配置路由的内置服务。由于它是一个服务,根据service的使用建议,我们主要将其当做为工具来使用,所以我们一般直接使用$routeProvider.XXX来调用它的成员方法来实现一定的功能,而不是实例化一个$routeProvider的实例。它主要有以下两个成员函数:

  • otherwise(params):设定映射信息到$route.current,一般用于指定没有标明的路由如何处理。
  • when(path,route):向$route服务添加新的路由。path是指定的URL路径,route标明路由的处理。
var bookStoreApp = angular.module('bookStoreApp', []);
bookStoreApp.config(function($routeProvider) {
	$routeProvider.when('/hello', {
		templateUrl : 'tpls/hello.html',
		controller : 'HelloCtrl'
	}).when('/list',{
		templateUrl : 'tpls/bookList.html',
		controller : 'BookListCtrl'
	}).otherwise({
		redirectTo : '/hello'
	})
});

 

#用来防止浏览器向后台提交请求,#相当于内部的锚点,浏览器不会像服务端发送请求,通过锚点和后面的/,用来告诉浏览器在页面内跳转,AngularJS会拦截这个URL地址,然后把#后面的内容取出来,与routeProvider中的内容进行匹配,然后它就知道去展现哪个视图了 。不同的视图可以交给不同的控制器处理。

         

 模块之间的依赖如何实现?——依赖注入

var bookStoreApp = angular.module('bookStoreApp', [
	'ngRoute','ngAnimate','bookStoreCtrls','bookStoreFilter',
	'bookStoreServices','bookStoreDirectives'
	]);

AngularJS在启动的时候会去检测[ ]中的字符串所对应的模块有没有注册或者能不能加载进来,如果模块不存在,AngularJS会报错。AngularJS内部的依赖注入是这样去做的。如果需要依赖其它的模块,只要声明在[ ]数组中,AngularJS就知道了。以ng开头的是AngularJS自身所提供的模块,在index.html中,把它们以script的方式导入进来就可以使用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值