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动画4.升级版遮罩效果的图片走廊--带自动运行效果
Aug 24 Javascript
将json对象转换为字符串的方法
Feb 20 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
May 14 Javascript
jQuery实现dialog设置focus焦点的方法
Jun 10 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
Aug 11 Javascript
jQuery检查元素存在性(推荐)
Sep 17 Javascript
vue-cli如何添加less 以及sass
Jul 06 Javascript
iscroll实现下拉刷新功能
Jul 18 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
Feb 09 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
基于JavaScript实现贪吃蛇游戏
Mar 16 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
Apr 03 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注入实例
2006/10/09 PHP
一次编写,随处运行
2006/10/09 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
jquery.validate使用攻略 第三部
2010/07/01 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
requireJS使用指南
2016/04/27 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
python模块导入的方法
2019/10/24 Python
用python实现一个简单的验证码
2020/12/09 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
大学生入党思想汇报
2014/01/01 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
Python编程编写完善的命令行工具
2021/09/15 Python