AngularJS之页面跳转Route实例代码


Posted in Javascript onMarch 10, 2017

AngulagJs的页面使用Route跳转

1.除了引用AngularJs.js外,还要引用路由JS, "~/Scripts/angularjs/angular-route.js"

2.通过$routeProvider定义路由,示例

var testModule = angular.module('testModule', ['ngRoute']);

testModule.config(['$routeProvider', function ($routeProvider) {
 $routeProvider.when('/2', {//'/2'定义的路由路径,以后通过此路径访问,通常定义为短路径
  templateUrl: "/home/index2",//"/home/index2"是路由实际访问的路径,可以是asp.net mvc的访问路径(如此例),也可是具体的页面路径,如“test/test.html"
  controller:'testController'//路由跳转的controller,后面必须定义此控制器
 });

 $routeProvider.when('/3', {
  templateUrl: "/home/index3",
  controller:'testController'
 })

}]);

3.使用路由跳转,结合ng-view做spa

3.1  在JS中使用$location进行跳转,如示例,在需要的时候调用goToIndex2即可

testModule.controller("testController", ["$scope", "$location", function ($scope, $location) {

 $scope.goToIndex2 = function () {
  $location.path("/2")
 }
}]);

3.2 在html代码中使用href="#path"来进行跳转

<html >
<head>
 <meta name="viewport" content="width=device-width" />
 <title>Index1</title>
 @Styles.Render("~/Content/css/base")
 @Scripts.Render("~/script/base")
 <script src="~/scripts/ngmoudle/app.js"></script>
</head>
<body>
 <div ng-app="testModule" ng-controller="testController">
  <header>
   <h1>This is Index1</h1>
   <button type="button" class="btn btn-default" ng-click="goToIndex2()">Index2</button>
   <a href="#/3" class="btn btn-default">Index3</a><!--通过heft="#path"方式进行跳转-->
   <a href="#/2" class="btn btn-default" >Index2</a>
    </header>
  <div ng-view>

  </div>
  <footer>PAGE FOOTER</footer>
 </div>
</body>
</html>

 4.关于Angularjs版本不得不说的问题(追加部分),“/"变”%2F”问题

新的项目直接使用Nuget获取Angularjs后,发现按照以上的写法,不能跳转了,表现症状为 <a href="#/2">Index2</a> 点击之后,发现浏览器地址变为“#%22”,“/"变”%2F”导致路由不能跳转了,一顿猛查和调试,才发现AngularJs自1.6版本后对地址做了特别处理 知道原因后,解决问题也很简单,在Angular中声明用回旧有方式即可。

可参见 http://stackoverflow.com/questions/41211875/angularjs-1-6-0-latest-now-routes-not-working

testModule.config(['$locationProvider', function($locationProvider) {
 $locationProvider.hashPrefix('');
}]);

testModule.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix(''); }]);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 可排列的表实现代码
Nov 13 Javascript
基于jquery用于查询操作的实现代码
May 10 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
Jun 01 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
Dec 08 Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
Mar 21 Javascript
DOM中事件处理概览与原理的全面解析
Aug 16 Javascript
js实现倒计时及时间对象
Nov 15 Javascript
Node.js复制文件的方法示例
Dec 29 Javascript
谈谈JS中的!!
Dec 07 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
Oct 14 Javascript
jQuery实现弹幕特效
Nov 29 jQuery
Angular多选、全选、批量选择操作实例代码
Mar 10 #Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
Mar 10 #Javascript
Vue.js之slot深度复制详解
Mar 10 #Javascript
JS实现的自动打字效果示例
Mar 10 #Javascript
jquery实现的table排序功能示例
Mar 10 #Javascript
微信小程序 向左滑动删除功能的实现
Mar 10 #Javascript
常用的js方法合集
Mar 10 #Javascript
You might like
PHP实现异步调用方法研究与分享
2011/10/27 PHP
php在文件指定行中写入代码的方法
2012/05/23 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
javascript实现表单验证
2016/01/29 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
Python中Django框架下的staticfiles使用简介
2015/05/30 Python
分享Python文本生成二维码实例
2016/01/06 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
请解释在new与override的区别
2012/10/29 面试题
周年庆促销方案
2014/03/15 职场文书
社区戒毒工作方案
2014/06/04 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
Python实现简单的俄罗斯方块游戏
2021/09/25 Python