AngularJS入门教程一:路由用法初探


Posted in Javascript onMay 27, 2017

本文实例讲述了AngularJS路由用法。分享给大家供大家参考,具体如下:

目前的理解中,这个NG的路由模块可以用于带有多视图的单页面开发。

先把所有代码贴出:

HTML:

<!doctype html>
<meta charset="UTF-8">
<html>
<head>
  <link href="self.css" rel="external nofollow" rel="stylesheet">
</head>
<body ng-app='routingDemoApp'>
<h2>AngularJS 路由应用</h2>
<ul>
  <li><a href="#/" rel="external nofollow" >首页</a></li>
  <li><a href="#/computers" rel="external nofollow" >电脑</a></li>
  <li><a href="#/user" rel="external nofollow" >用户</a></li>
  <li><a href="#/blabla" rel="external nofollow" >其他</a></li>
</ul>
<div ng-view></div>
<script src="angular.min.js"></script>
<script src="angular-route.min.js"></script>
<script src="test.js"></script>
</body>
</html>

list.html:

<div>
  <h1>HI,这里是list.html</h1>
  <h2>{{name}}</h2>
</div>

JS:

var app = angular.module('routingDemoApp',['ngRoute']);
app.config(['$routeProvider', function($routeProvider){
    $routeProvider
      .when('/',{template:'这是首页页面'})
      .when('/computers',{
        template:'这是电脑分类页面'
      })
      .when('/user',{templateUrl:'list.html',controller:'listController'})
      .otherwise({redirectTo:'/'});
}]);
app.controller('listController',function($scope){
  $scope.name="ROSE";
});

首先由于我用的是Angular1.5,所以需要额外引入angular-route.js:

<script src="angular.min.js"></script>
<script src="angular-route.min.js"></script>

要使用NG里的路由,必须先在特定的模块中定义它:

.config(['$routeProvider', function($routeProvider){
//内容
}

通过when和otherwise两个方法来进行路由的匹配。(其实就是匹配上面URL后面/的字符)。最后把匹配到的字符所对应的字段或者文件放入带有ng-view 指令的DOM里面。

when里面有许多属性。里面可以设置控制器,控制器会匹配给对应的字段或文件。就像上面代码中listController控制器一样。

ng-view指令有许多规则:

在匹配路由时:

1、创建一个新的当前作用域。
2、删除前一个作用域。
3、将当前的模板(控制器等)与当前新建的作用域关联起来。
4、如果有内置关联的控制器,将其与当期作用域关联起来。

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
Jun 28 Javascript
javascript showModalDialog 内跳转页面的问题
Nov 25 Javascript
jQuery基于图层模仿五星星评价功能的方法
May 07 Javascript
jQuery实现鼠标点击弹出渐变层的方法
Jul 09 Javascript
基于javascript bootstrap实现生日日期联动选择
Apr 07 Javascript
微信小程序 教程之wxapp 视图容器 view
Oct 19 Javascript
Vue.js鼠标悬浮更换图片功能
May 17 Javascript
Javascript中 toFixed四舍六入方法
Aug 21 Javascript
JavaScript基础进阶之数组方法总结(推荐)
Sep 04 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
Jun 14 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 Javascript
Angular 4环境准备与Angular cli创建项目详解
May 27 #Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 #Javascript
Angularjs自定义指令Directive详解
May 27 #Javascript
react-redux中connect()方法详细解析
May 27 #Javascript
react-router实现跳转传值的方法示例
May 27 #Javascript
简单实现JavaScript弹幕效果
Aug 27 #Javascript
Node.js中多进程模块Cluster的介绍与使用
May 27 #Javascript
You might like
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
2016/05/17 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
EsLint入门学习教程
2017/02/17 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
jQuery zTree树插件的使用教程
2019/08/16 jQuery
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
python关闭windows进程的方法
2015/04/18 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
python画图的函数用法以及技巧
2019/06/28 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
高中生自我评语大全
2014/01/19 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
产品开发计划书
2014/04/27 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS