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 相关文章推荐
个人总结的一些关于String、Function、Array的属性和用法
Jan 10 Javascript
asp.net和asp下ACCESS的参数化查询
Jun 11 Javascript
TextArea 控件的最大长度问题(js json)
Dec 16 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
Dec 26 Javascript
JavaScript的面向对象编程基础
Aug 13 Javascript
JavaScript实现九九乘法表的简单实例
Jun 07 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
Jan 22 Javascript
详解React native全局变量的使用(跨组件的通信)
Sep 07 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 Javascript
jquery传参及获取方式(两种方式)
Feb 13 jQuery
解决Vue中的生命周期beforeDestory不触发的问题
Jul 21 Javascript
html5中sharedWorker实现多页面通信的示例代码
May 07 Javascript
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
德劲1102收音机的打理维修案例
2021/03/02 无线电
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
php session的应用详细介绍
2017/03/22 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
全面解析标签页的切换方式
2016/08/21 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
BootStrap整体框架之基础布局组件
2016/12/15 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
用Python抢过年的火车票附源码
2015/12/07 Python
Python正规则表达式学习指南
2016/08/02 Python
详解K-means算法在Python中的实现
2017/12/05 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
python把一个字符串切开的实例方法
2020/09/27 Python
公益活动邀请函
2014/02/05 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
javascript拖曳互换div的位置实现示例
2021/06/28 Javascript
Vue+Flask实现图片传输功能
2022/04/01 Vue.js