路由-when-resolve
文件列表:luyou.html,app.js,home.html,user.html,wy.json
luyou.html
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<title>angular</title>
</head>
<body>
<div ng-controller="myController">
<p>我是主界面index.html</p>
<!--<ng-view></ng-view>-->
<div ng-view=""></div>
<!--<div class="ng-view"></div>-->
</div> </body>
<script src="angular.js" type="text/javascript" charset="utf-8"></script>
<script src="../angular-route.js" type="text/javascript" charset="utf-8"></script>
<script src="app.js" type="text/javascript" charset="utf-8"></script>
</html>
app.js
angular.module("myApp", ["ngRoute"])
.config(["$routeProvider", "$locationProvider", function($routeProvider,$locationProvider) {
$routeProvider.when("/", {
templateUrl: "home.html",
controller: "homeController",
resolve: {
//该对象对应的所有方法和属性都可以注入到控制器中
//该对象属性所对应的值,必须是服务名
//函数中的参数必须是服务名
callBoy: "callBoy",
getData: function(getD) {
return getD;
}
},
//如果值为true,每次查询参数发生改变都会引起路由的刷新,否则不刷新
reloadOnSearch: false,
});
$locationProvider.hashPrefix("!");
$routeProvider.when("/user/:name/:password", {
templateUrl: "user.html",
controller: "userController",
//重定向
// redirectTo:"/user/a/b",
// redirectTo: function(a, b, c) {
// //参数1:代表一个对象,对象里面的属性都是路由参数
// //参数2:路由的路径
// //参数3:查询参数
// console.log(a, b, c);
// return "/home";
// }
})
$routeProvider.otherwise("/");
}])
.controller("myController", function($scope) {
$scope.name = "myCtrl-name";
})
.controller("homeController", function($scope, $location, callBoy, getData) {
$scope.name = "home-name";
// console.log(callBoy);
// console.log(getData.data);
var num = Math.floor(Math.random() * 101);
$scope.homeclick = function() {
// $location.path("/user");
console.log("开始跳转");
$location.search("password=abc");
$location.path("/user/张三/abcd");
};
$scope.queryFn = function() {
$location.search("num=" + num);
}
})
.controller("userController", function($scope, $location) {
$scope.name = "user-name";
$scope.userclick = function() {
$location.path("/");
}
})
.factory("callBoy", function() {
return "d";
})
.factory("getD", function($http) {
return $http({
method: "get",
url: "../wy.json",
})
})
home.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>home</h1>
<p>我的名字:{{name}}</p>
<button ng-click="homeclick()">user</button>
<button ng-click="queryFn()">查询</button>
</body>
</html>
user.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>user</h1>
<p>我的名字:{{name}}</p>
<button ng-click="userclick()">返回</button>
</body>
</html>
****************************************************分割线****************************************************
angular.module("myApp", ["ngRoute"])
.config(["$routeProvider", function($routeProvider) {
$routeProvider.when("/home", {
templateUrl: "home.html",
controller: "homeController"
})
$routeProvider.otherwise("/home");
}])
.controller("homeController", function($scope,$location,$window) {
// $location实际上是对window中location的封装
// $location没有刷新页面的功能,如果需刷新可以注入$window,
// 使用$windowlocation.reload()方法刷新界面
$scope.btnAction = function (){
$window.location.reload();
}
// 路由路径
console.log("路由路径:" + $location.path());
console.log("获取编码后的完整地址:"+ $location.absUrl());
console.log("主机名:"+$location.host());
console.log("端口号:"+$location.port());
console.log("协议:"+$location.protocol());
console.log("设置查询串:"+$location.search("name=zhangsan"));
console.log("获取路径:"+$location.url());
console.log("设置路径,查询参数,返回对象:"+$location.url());
})
路由-when-resolve的更多相关文章
- AngularJS路由系列(2)--刷新、查看路由,路由事件和URL格式,获取路由参数,路由的Resolve
本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● 刷新路由● 查看当前路由以及所有路由● 路由触发事件● 获取路由参数 ● 路由的resolve属性● 路由URL格式 ...
- 路由的Resolve机制(需要了解promise)
angular的resovle机制,实际上是应用了promise,在进入特定的路由之前给我们一个做预处理的机会 1.在进入这个路由之前先懒加载对应的 .js $stateProvider .state ...
- AngularJS路由系列(5)-- UI-Router的路由约束、Resolve属性、路由附加数据、路由进入退出事件
本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router约束路由参数● UI-Router的Resolve属性● UI-Router给路由附加数据● UI- ...
- angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation
今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:
- angular路由守卫
路由守卫是指当用户满足了某些要求之后才可以离开或者进入某个页面或者场景的时候使用.比如说只有当用户填写了用户名和密码之后才可以进入首页,比如说用户离开某个页面时明月保存信息提示用户是否保存信息后再离 ...
- Angular系列文章之angular路由
路由(route),几乎所有的MVC(VM)框架都应该具有的特性,因为它是前端构建单页面应用(SPA)必不可少的组成部分. 那么,对于angular而言,它自然也有内置的路由模块:叫做ngRoute. ...
- Angular4学习笔记(三)- 路由
路由简介 路由是 Angular 应用程序的核心,它加载与所请求路由相关联的组件,以及获取特定路由的相关数据.这允许我们通过控制不同的路由,获取不同的数据,从而渲染不同的页面. 相关的类 Routes ...
- AngularJS路由系列(6)-- UI-Router的嵌套State
本系列探寻AngularJS的路由机制,在WebStorm下开发.本篇主要涉及UI-Route的嵌套State. 假设一个主视图上有两个部分视图,部分视图1和部分视图2,主视图对应着一个state,两 ...
- AngularJS路由系列(4)-- UI-Router的$state服务、路由事件、获取路由参数
本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router的$state服务● UI-Router的路由事件● UI-Router获取路由参数 Angular ...
- AngularJS路由系列(3)-- UI-Router初体验
本系列探寻AngularJS的路由机制,在WebStorm下开发. AngularJS路由系列包括: 1.AngularJS路由系列(1)--基本路由配置2.AngularJS路由系列(2)--刷新. ...
随机推荐
- Java字节流在Android中的使用
引言:项目开发有时会使用上传文件到服务器,再从服务器取数据显示到本地这一过程:或者输入一段文字,再把文字显示出来.这个过程都用到了IO流. IO流分为字符流(Reader\Writer)和字节流(In ...
- C#文件上传类,文件流,字节数组等
using System;using System.IO;using System.Web;using System.Web.UI.WebControls; namespace DotNet.Util ...
- CSS常见兼容性问题总结
原文链接:渔人码头 http://www.cnblogs.com/imwtr/p/4340010.html?utm_source=tuicool&utm_medium=referral 浏览器 ...
- Nginx的配置文件详解
主配置文件: 查看nginx的进程可以看到nginx所使用的配置文件: 主配置一般会被用来设置一些全局的参数: 参数详解: user nobody nobody; //设置nginx ...
- Linux上SQL及MYSQL简单操作
Linux上检查MYSQL是否安装: $ sudo service mysql start Ubuntu Linux安装配置MYSQL: $ sudo apt-get install mysql-se ...
- 老李推荐:第14章4节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-装备ViewServer-端口转发 3
formAdbRequest我们在之前已经分析过,做的事情就是组建好ADB协议的命令以待发送给ADB服务器,在我们558行中最终组建好的ADB协议命令将会如下: “host-serial:xxx:fo ...
- 这辈子只能碰到一次! 记一次SSL无故被撤消!
SSL证书刚更新一切都那么正常, 突然有一天网站不能访问了, Chrome浏览器提示有风险, 没有继续访问链接,没有,没有, 重要的事情说三遍, 于是乎赶紧加班查原因, 发展浏览器报的错误是证书撤消( ...
- 变态版大鱼吃小鱼-基于pixi.js 2D游戏引擎
之前用CSS3画了一条
- Python爬虫 Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
- Zepto 添加手势判断拓展方法(思路+原理)
一.前言 这几个月事情比较多,写了一些博客都没有来得及整理发布,今天刚好有一位同事在开发前端页面的时候用到了手势判断.所以翻出了之前写的 demo,顺便整理一下作为记录. 手势判断在各种应用中都十分常 ...