<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<script src="../Scripts/angular.min.js"></script>
<script src="../Scripts/angular-route.min.js"></script> <script src="../Scripts/angular-animate.js"></script>
<style type="text/css">
<!--animate class样式的写法,如果是ng-show的话使用的写法是不一样的 -->
.box {
width: 200px;
height: 200px;
background: red;
transition: 1s all;
} .box.ng-enter {
opacity: 0;
} .box.ng-enter-active {
opacity: 1;
} .box.ng-leave {
opacity: 1;
} .box.ng-leave-active {
opacity: 0;
}
</style> </head>
<body>
<div ng-app="myApp">
<div class="header" ng-controller="firstController"> <!-- 例子 1 超链接跳转 <a href="#div1" >第一个div</a>
<a href="#div2">第二个div</a>
<a href="#div3">第三个div</a>
<a href="#content/12">点击去内容12</a> -->
<!--例二 js跳转
通过$location来跳转
一般情况下是没办法在这里直接使用$location
因为我们在控制器的时候有给 $scope.$location 赋值所以这里才能直接使用
-->
<a ng-click="$location.path('/div1')">第一个div</a>
<a ng-click="$location.path('/div2')">第二个div</a>
<a href="#div3">第三个div</a>
<a href="#content/12">点击去内容12</a> </div>
<div ng-view class="box"> </div> <script type="text/javascript">
var app = angular.module("myApp", ['ngRoute', "ngAnimate"]);
//$routeChangeStart
//$routeChangeSuccess/Error
app.run(["$rootScope", function ($rootScope) { //可以在run方法里注册路由切换的事件
$rootScope.$on("$routeChangeStart", function (event, current, pre) { });
}]); app.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when("/div1", {
templateUrl: 'template1.html', //templateUrl
controller: "div1Controller"
}).when("/div2", {
template: "<p>这是div2{{text}}</p>",
controller: "div2Controller"
}).when("/div3", {
template: "<p>这是div3{{text}}</p>",
controller: "div3Controller"
}).when("/content/:id", { //传值 名称为id
template: "<p>这是div4{{text}} id={{id}}</p>",
controller: "div4Controller"
}).otherwise({
redirectTo: "/div1"
});
}]); app.controller("div1Controller", function ($scope) {
$scope.text = "PhoneGap中文网div1Controller";
});
app.controller("div2Controller", function ($scope) {
$scope.text = "PhoneGap中文网div2Controller";
});
app.controller("div3Controller", function ($scope) {
$scope.text = "PhoneGap中文网div3Controller";
});
app.controller("div4Controller", function ($scope, $routeParams) {//通过$routeParams来获取参数
$scope.text = "PhoneGap中文网div4Controller";
$scope.id = $routeParams.id; });
app.controller("firstController", function ($scope, $location) {
$scope.$location = $location;
}); </script> </div>
</body>
</html>

AngularJs练习Demo17 ngRoute的更多相关文章

  1. AngularJS 路由:ng-route 与 ui-router

    AngularJS的ng-route模块为控制器和视图提供了[Deep-Linking]URL. 通俗来讲,ng-route模块中的$routeService监测$location.url()的变化, ...

  2. angularjs之插件ngRoute和ngAnimate

    使用ngRoute和ngAnimate配合使用,可以实现页面切换的效果. 如果有使用过swiper,就知道这个效果是怎么样的. 代码: <!DOCTYPE html> <html l ...

  3. AngularJS Best Practices: ngRoute

    app/----- components/---------- users/--------------- controllers/-------------------- users.control ...

  4. AngularJs练习Demo16 ngRoute

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. [AngularJS] AngularJS系列(2) 中级篇之路由

    目录 原理 angular-route ui-router 事件 深度路由 原理 ng的route本质是监听hashchange事件. 在angular-route中 $rootScope.$on(' ...

  6. angularjs 路由回退,返回到上一个路由

    在现阶段比较流行的angularjs框架中:路由是一个比较重要的应用:angularjs的单页面是其强大功能之一: 所有的页面其实就只是在一个页面就实现的:angularjs通过对路由的控制来进行页面 ...

  7. AngularJS基础总结

    w3shools    angularjs教程  wiki   <AngularJS权威教程> Introduction AngularJS is a JavaScript framewo ...

  8. ngRoute 和 ui.router 的使用方法和区别

    在单页面应用中要把各个分散的视图给组织起来是通过路由机制来实现的.本文主要对 AngularJS 原生的 ngRoute 路由模块和第三方路由模块 ui.router 的用法进行简单介绍,并做一个对比 ...

  9. AngularJs轻松入门(七)多视图切换

    在AngularJs应用中,我们可以將html碎片写在一个单独的文件中,然后在其他页面中將该段碎片加载进来.如果有多个碎片文件,我们还可以在控制器中根据用户的操作动态的加载不同的碎片,从而达到切换视图 ...

随机推荐

  1. WDCP一些常用的一健安装包可选安装组件

    为有更好的性能,也为更简洁的系统,一些不是常用或不是基本的功能,都将做为可选的安装组件需要用到的就安装 memcache的安装 wget -c http://down.wdlinux.cn/in/me ...

  2. redis常见命令

    一.介绍 1.Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis提供了一些丰富 ...

  3. 下拉列表框Combo Box

    Combo Box/Combo Box Ex 组合窗口是由一个输入框和一个列表框组成.创建一个组合窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText ...

  4. Microsoft OLE DB Provider for SQL Server 错误 '80040e21'

    我的是因为数据库满了,正在向服务商申请增加数据库容量 原文地址:Microsoft OLE DB Provider for SQL Server 错误 '800作者:欧阳IT记事本 昨天打开网站还正常 ...

  5. 使用开源word操作组件DocX的记录

    1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作w ...

  6. 为git配置ssh

    git clone有两种方式,一种是http,一种是ssh. 配置ssh的好处是:在每次push代码的时候不需要输入密码. bash上生成秘钥: ssh-keygen -t rsa -C " ...

  7. 在centos中使用vim编辑器

    下面用编辑crontab举个例子: 在命令行输入 crontab -e 会直接进入vim编辑模式编辑crontab文件. 随后可以输入“i”进入insert模式 然后移动光标在指定的位置添加文字,可以 ...

  8. swift和 oc 混编2-备

    在Swift语言出现之前,开发iOS或OS X应用主要使用Objective-C语言,此外还可以使用C和C++语言,但是UI部分只能使用Objective-C语言. 选择语言 Swift语言出现后,苹 ...

  9. USB 0xC0000012 错误详解

    0xC0000012Bus Hound 6.01 capture on Windows Vista Service Pack 1 (x86). Complements of www.perisoft. ...

  10. Delphi判断进程是否存在(使用CreateToolhelp32Snapshot)

      program Project2; uses windows,TLHelp32; function FindProcess(AFileName:string):boolean; var hSnap ...