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 相关文章推荐
js获取单选按钮的数据
Nov 27 Javascript
js中方法重载如何实现?以及函数的参数问题
Aug 01 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
Dec 16 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
javascript数据类型详解
Feb 07 Javascript
BootStrap TreeView使用实例详解
Nov 01 Javascript
JavaScript的setter与getter方法
Nov 29 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
Sep 03 Javascript
JS闭包原理与应用经典示例
Dec 20 Javascript
Vue使用预渲染代替SSR的方法
Jul 02 Javascript
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
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
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
纯jQuery实现前端分页功能
2017/03/23 jQuery
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
纯js实现画一棵树的示例
2017/09/05 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
Python递归实现打印多重列表代码
2020/02/27 Python
如何对python的字典进行排序
2020/06/19 Python
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
银行求职信
2014/05/31 职场文书
2015年试用期工作总结
2014/12/12 职场文书
主婚人致辞精选
2015/07/28 职场文书
HTML5页面音频自动播放的实现方式
2021/06/21 HTML / CSS
Python re.sub 反向引用的实现
2021/07/07 Python
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android