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 EasyUI 开源插件套装 完全替代ExtJS
Mar 24 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
js实现瀑布流的一种简单方法实例分享
Nov 04 Javascript
javascript静态页面传值的三种方法分享
Nov 12 Javascript
浅谈js 闭包引起的内存泄露问题
Jun 22 Javascript
JavaScript数据结构中串的表示与应用实例
Apr 12 Javascript
vue中各组件之间传递数据的方法示例
Jul 27 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
Nov 24 Javascript
利用Javascript获取选择文本所在的句子详解
Dec 03 Javascript
js+SVG实现动态时钟效果
Jul 14 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
详解Vue中组件的缓存
Apr 20 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
php Smarty初体验二 获取配置信息
2011/08/08 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
php实现微信公众平台账号自定义菜单类
2014/12/02 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP chr()函数讲解
2019/02/11 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
深入理解Node内建模块和对象
2019/03/12 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
python实现飞机大战微信小游戏
2020/03/21 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
Python如何实现转换URL详解
2019/07/02 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
如何开发安全的AJAX应用
2014/03/26 面试题
医院安全生产月活动总结
2014/07/05 职场文书
指导老师鉴定意见
2015/06/05 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
Python内置数据结构列表与元组示例详解
2021/08/04 Python