1.前言
angularjs作为现在大火的前端框架很是受欢迎,现在已经发布了2.0版本,我在这里介绍的是我学习1.2.X以上版本的一些成果,2.0版本LZ也在学习中,等学成归来再与大家一起交流学习。
2.简单介绍AngularJs
AngularJS的官方文档是这样介绍它的。完全使用JavaScript编写的客户端技术。同其他历史悠久的Web技术(HTML、CSS
和JavaScript)配合使用,使Web应用开发比以往更简单、更快捷。
AngularJS主要用于构建单页面Web应用。它通过增加开发人员和常见Web应用开发任务之间
的抽象级别,使构建交互式的现代Web应用变得更加简单。 详见 AngularJs权威教程
下面讲的内容是针对对AngularJs有一些了解的同学,不了解的同学可以先去看下权威教程。
3.代码设计
先看下我们的项目文件目录:
3.1 index.html
index.html作为我们系统的访问门户文件,当然他是我们首先要编写的文件。
<!DOCTYPE html><html lang="en" ng-app="myApp"><head><meta charset="UTF-8"><title></title><link rel="stylesheet" href="css/bootstrap.css"></head><body><div><div><div ng-include="'views/common/menu.html'"></div><div ui-view></div></div></div><script src="libs/angular.js"></script><script src="libs/angular-ui-router.js"></script><script src="app.js"></script><script src="module/first/firstController.js"></script><script src="module/second/secondController.js"></script></body></html>
代码解释:
ng-app表示angularjs作用的范围,可以写在html标签上,例如div,我们一般是写在html标签头上,代表整个html都受我们angularjs的作用。一般一个html只写一个ng-app就够了。
ui-view表示路由,代表我url上的路径对应的页面都将显示在这个div下面,div里面不能写内容,写了也是无效的。
3.2 app.js
var app = angular.module('myApp',['ui.router','secondModule','firstModule']);app.config(function($stateProvider, $urlRouterProvider){$stateProvider.state('first', {url: '/first',templateUrl: 'views/first/first.html',controller: 'firstController'}).state('second', {url: '/second',templateUrl: 'views/second/second.html',controller: 'secondController'})$urlRouterProvider.otherwise('first')})
首先我们先定义一个模块module,module的名字myApp要与index.html中ng-app的名字保持一致,[ ] 中注入要引用的模块,例如第一个是ui-view的模块名。
然后我们开始调用config方法开始定义路由,要引用两个服务提供者$stateProvider、$urlRouterProvider,然后调用$stateProvider的state方法定义每一个路由;$urlRouterProvider.otherwise('first')代表当url上出现的地址不是路由中定义过的则跳转到first路由对应的页面。
GitHub项目地址:demo
由于LZ使用的是Webstorm,所有可以直接访问index.html。附webstorm地址。
最后的最后再推荐大家一个搜索利器,可以帮助大家快速高效的访问google、stackoverflow等国外技术网站,一年只需要 19.95AUD,折合人民币九十多,可以了解下。直通车