文件列表: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的更多相关文章

  1. AngularJS路由系列(2)--刷新、查看路由,路由事件和URL格式,获取路由参数,路由的Resolve

    本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● 刷新路由● 查看当前路由以及所有路由● 路由触发事件● 获取路由参数 ● 路由的resolve属性● 路由URL格式 ...

  2. 路由的Resolve机制(需要了解promise)

    angular的resovle机制,实际上是应用了promise,在进入特定的路由之前给我们一个做预处理的机会 1.在进入这个路由之前先懒加载对应的 .js $stateProvider .state ...

  3. AngularJS路由系列(5)-- UI-Router的路由约束、Resolve属性、路由附加数据、路由进入退出事件

    本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router约束路由参数● UI-Router的Resolve属性● UI-Router给路由附加数据● UI- ...

  4. angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation

    今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:

  5. angular路由守卫

     路由守卫是指当用户满足了某些要求之后才可以离开或者进入某个页面或者场景的时候使用.比如说只有当用户填写了用户名和密码之后才可以进入首页,比如说用户离开某个页面时明月保存信息提示用户是否保存信息后再离 ...

  6. Angular系列文章之angular路由

    路由(route),几乎所有的MVC(VM)框架都应该具有的特性,因为它是前端构建单页面应用(SPA)必不可少的组成部分. 那么,对于angular而言,它自然也有内置的路由模块:叫做ngRoute. ...

  7. Angular4学习笔记(三)- 路由

    路由简介 路由是 Angular 应用程序的核心,它加载与所请求路由相关联的组件,以及获取特定路由的相关数据.这允许我们通过控制不同的路由,获取不同的数据,从而渲染不同的页面. 相关的类 Routes ...

  8. AngularJS路由系列(6)-- UI-Router的嵌套State

    本系列探寻AngularJS的路由机制,在WebStorm下开发.本篇主要涉及UI-Route的嵌套State. 假设一个主视图上有两个部分视图,部分视图1和部分视图2,主视图对应着一个state,两 ...

  9. AngularJS路由系列(4)-- UI-Router的$state服务、路由事件、获取路由参数

    本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router的$state服务● UI-Router的路由事件● UI-Router获取路由参数 Angular ...

  10. AngularJS路由系列(3)-- UI-Router初体验

    本系列探寻AngularJS的路由机制,在WebStorm下开发. AngularJS路由系列包括: 1.AngularJS路由系列(1)--基本路由配置2.AngularJS路由系列(2)--刷新. ...

随机推荐

  1. Excel制作多选下拉框代码以及图示

    1.首先  点击Sheet1(需要显示多选框的页) ,然后右键查看代码,进入编辑界面 2.写入如下代码 Private Sub Worksheet_SelectionChange(ByVal Targ ...

  2. Chrome 33+ 自建 扩展 实现 custom.css

    http://bbs.kafan.cn/thread-1674386-1-2.html

  3. 第一章:shiro简介

    1.1 简介 Apache Shiro是java的一个安全框架,相当简单,没有Spring Security功能强大,但是实际工作中大多使用shiro就够了.可以帮助我们完成:认证,授权,加密,会话管 ...

  4. 微服务--webapi实现,脱离iis,脱离tomcat

    前言 微服务,顾名思义就是微小的单一的服务程序,单一流程,单一发布,开发和部署都可独立: 这是我的理解: 但基于web的服务,不管是webservice还是webapi等类似的服务都需要基于iis或者 ...

  5. Oracle存储过程的调用和执行

    1.什么是存储过程: 用于在数据库中完成特定的操作或者任务.是一个PLSQL程序块,可以永久的保存在数据库中以供其他程序调用. 2.无参存储过程的使用: Normal 0 7.8 磅 0 2 fals ...

  6. Memcache存储机制与指令汇总

    1.memcache基本简介 memcached是高性能的分布式内存缓存服务器.一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性. Memcach ...

  7. html中的Flash对象

    开源Flash播放器 http://www.open-open.com/ajax/Video.htm

  8. 【 js 基础 】 深浅拷贝

    underscore的源码中,有很多地方用到了 Array.prototype.slice() 方法,但是并没有传参,实际上只是为了返回数组的副本,例如 underscore 中 clone 的方法: ...

  9. 极化SAR图像基础知识(1)

    从今天开始学习极化SAR图像,记录于此. 极化散射矩阵S是用来表示单个像素散射特性的一种简便办法,它包含了目标的全部极化信息.

  10. EasyMvc--让MVC区域开发更Easy(提供源码下载)

    核心: 主要利用MVC的区域功能,实现项目模块独立开发和调试. 目标: 各个模块以独立MVC应用程序存在,即模块可独立开发和调试. 动态注册各个模块路由. 一:新建解决方案目录结构 如图: 二:Eas ...