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 相关文章推荐
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 Javascript
ajax中get和post的说明及使用与区别
Dec 23 Javascript
使用jQuery.wechat构建微信WEB应用
Oct 09 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
JQuery 的跨域方法推荐_可跨任何网站
May 18 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
Sep 24 Javascript
简单实现js选项卡切换效果
Feb 09 Javascript
了解ESlint和其相关操作小结
May 21 Javascript
详解如何在微信小程序中愉快地使用sass
Jul 30 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
Mar 30 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
Aug 20 Javascript
vue中实现图片压缩 file文件的方法
May 28 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
一个ftp类(ini.php)
2006/10/09 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/21 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
基于Jquery的跨域传输数据(JSONP)
2011/03/10 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
python 将字符串转换成字典dict
2013/03/24 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
python实现抽奖小程序
2020/04/15 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
怎么写工作检讨书
2014/11/16 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers
PyTorch device与cuda.device用法
2022/04/03 Python
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis