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怎样实现ajax联动框(一)
Mar 08 Javascript
有效提高JavaScript执行效率的几点知识
Jan 31 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 Javascript
利用Angularjs和bootstrap实现购物车功能
Aug 31 Javascript
jquery 多个radio的click事件实例
Dec 03 Javascript
JavaScript实现经典排序算法之冒泡排序
Dec 28 Javascript
AngularJs 常用的过滤器
May 15 Javascript
javascript将url解析为json格式的两种方法
Aug 18 Javascript
vue 中滚动条始终定位在底部的方法
Sep 03 Javascript
原生JS实现手动轮播图效果实例代码
Nov 22 Javascript
微信小程序模板template简单用法示例
Dec 04 Javascript
用JS实现飞机大战小游戏
Jun 09 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
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
php输出xml属性的方法
2015/03/19 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
Python 自动补全(vim)
2014/11/30 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
python运行时间的几种方法
2016/06/17 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
Python跳出多重循环的方法示例
2019/07/03 Python
python+logging+yaml实现日志分割
2019/07/22 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
易程科技软件测试笔试
2013/03/24 面试题
J2EE模式面试题
2016/10/11 面试题
淘宝活动策划方案
2014/02/06 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
求职自荐信怎么写
2015/03/04 职场文书
行政诉讼答辩状
2015/05/21 职场文书
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS