angularJs搭建web项目

来源:互联网 发布:电竞 知乎 编辑:程序博客网 时间:2024/05/13 04:52

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地址。