AngularJS入门教程之多视图切换用法示例


Posted in Javascript onNovember 02, 2016

本文实例讲述了AngularJS多视图切换用法。分享给大家供大家参考,具体如下:

在AngularJS应用中,我们可以??tml碎片写在一个单独的文件中,然后在其他页面中?⒏枚嗡槠?釉亟?础H绻?卸喔鏊槠?募??颐腔箍梢栽诳刂破髦懈?萦没У牟僮鞫??募釉夭煌?乃槠??佣?锏角谢皇油嫉男Ч??/p>

先来看看笔者写好的一个案例吧:

AngularJS入门教程之多视图切换用法示例

这两首词实际上是两个html碎片,分别写在page1.html和page2.html。下面是这两个文件的内容:

<!--page1.html内容-->
<div>
  <p>《南乡子·登京口北固亭有怀》</p>
  <p>何处望神州?满眼风光北固楼。千古兴亡多少事,悠悠,不尽长江滚滚流。</p>
  <p>年少万兜鍪,坐断东南战未休。天下英雄谁敌手,曹刘。生子当如孙仲谋。</p>
</div>
<!--page2.html内容-->
<div>
  <p>《蝶恋花》</p>
  <p>伫倚危楼风细细,望极春愁,黯黯生天际。草色烟光残照里,无言谁会凭阑意。</p>
  <p>拟把疏狂图一醉,对酒当歌,强乐还无味。衣带渐宽终不悔,为伊消得人憔悴。</p>
</div>

接下来我们看看如何实现这两个碎片的切换。

<!DOCTYPE html>
<html ng-app="routeMod">
<head lang="en">
  <meta charset="UTF-8">
  <script type="text/javascript" src="angular-1.3.0.14/angular.js"></script>
  <script type="text/javascript" src="angular-1.3.0.14/angular-route.js"></script>
  <link type="text/css" href="css/tutorial07.css" rel="stylesheet">
  <title>tutorial07.html</title>
</head>
<body>
  <header>
    Header
  </header>
  <div id="content" ng-controller="MultiViewController">
    <div id="myView" ng-view="myView" ng-init="init()">
    </div>
    <div id="btnDiv">
      <button ng-click="prePage()">上一页</button>
      <button ng-click="nextPage()">下一页</button>
    </div>
  </div>
  <footer>
    Copyright:Rongbo_J
  </footer>
  <script>
    var routeMod = angular.module('routeMod', ['ngRoute']);
    routeMod.config(['$routeProvider',function($routeProvider){
      $routeProvider.when('/1',{
        templateUrl:'tutorial07/page1.html',
        controller:'MultiViewController'
      })
      .when('/2',{
        templateUrl:'tutorial07/page2.html',
        controller:'MultiViewController'
      })
    }])
    routeMod.controller("MultiViewController",function($scope,$log,$location){
      $scope.init = function () {
        $location.path("/1");
      }
      $scope.prePage = function () {
        $log.info("prePage");
        $location.path("/1");
      };
      $scope.nextPage = function () {
        $log.info("nextPage");
        $location.path("/2");
      };
    });
  </script>
</body>
</html>

这里我们需要用到AngularJs的路由模块ngRoute,模块代码封装在angular-route.js文件,和上节一样我们我们需要引入它。

<script type="text/javascript" src="angular-1.3.0.14/angular-route.js"></script>

然后将它注入到我们的模块中,代码如下:

var routeMod = angular.module('routeMod', ['ngRoute']);

接下来的工作是配置html碎片的访问路径,我们需要调用模块的config方法来对$routeProvider服务进行配置,代码如下:

routeMod.config(['$routeProvider',function($routeProvider){
  $routeProvider.when('/1',{
    templateUrl:'tutorial07/page1.html',
    controller:'MultiViewController'
  })
  .when('/2',{
    templateUrl:'tutorial07/page2.html',
    controller:'MultiViewController'
  })
}])

我们通过ng-view指令定义了一个视图,在控制器中调用$location.path()方法来指定在该视图中加载哪一个碎片

AngularJS源码可点击此处本站下载

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
你所要知道JS(DHTML)中的一些技巧
Jan 09 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
Sep 28 Javascript
详细介绍8款超实用JavaScript框架
Oct 25 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
Oct 14 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
Oct 25 Javascript
Form表单按回车自动提交表单的实现方法
Nov 18 Javascript
Angular4学习笔记之准备和环境搭建项目
Aug 01 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
js前端导出Excel的方法
Nov 01 Javascript
Vue中保存数据到磁盘文件的方法
Sep 06 Javascript
vue 中的动态传参和query传参操作
Nov 09 Javascript
js制作提示框插件
Dec 24 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
Nov 02 #Javascript
arcgis for js 修改infowindow样式的方法
Nov 02 #Javascript
快速解决js中window.location.href不工作的问题
Nov 02 #Javascript
javascript创建对象的3种方法
Nov 02 #Javascript
AngularJS入门教程之表单校验用法示例
Nov 02 #Javascript
JQuery Ajax WebService传递参数的简单实例
Nov 02 #Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 #Javascript
You might like
通过html表格发电子邮件
2006/10/09 PHP
社区(php&amp;&amp;mysql)五
2006/10/09 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
2017/03/07 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python中为什么要用self探讨
2015/04/14 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
台湾生鲜宅配:大口市集
2017/10/14 全球购物
李培根演讲稿
2014/05/22 职场文书
2014年法务工作总结
2014/12/11 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
升职自荐信怎么写
2015/03/05 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android