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 相关文章推荐
用JavaScript和注册表脚本实现右键收藏Web页选中文本
Jan 28 Javascript
js 中 document.createEvent的用法
Aug 29 Javascript
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
Jun 08 Javascript
Jquery阻止事件冒泡 event.stopPropagation
Dec 11 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
Jan 06 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
Aug 27 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
Apr 01 Javascript
JS数字千分位格式化实现方法总结
Dec 16 Javascript
基于jquery实现左右上下移动效果
May 02 jQuery
JavaScript this绑定过程深入详解
Dec 07 Javascript
vue中nextTick用法实例
Sep 11 Javascript
vue实现日历表格(element-ui)
Sep 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
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
php实现按文件名搜索文件的远程文件查找器
2014/05/10 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
图片自动更新(说明)
2006/10/02 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
2016/05/23 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
python调用windows api锁定计算机示例
2014/04/17 Python
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
python版本单链表实现代码
2018/09/28 Python
python实现可逆简单的加密算法
2019/03/22 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
大学生职业规划论文
2014/01/11 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
cf战队收人广告词
2014/03/14 职场文书
财务工作失误检讨书
2015/02/19 职场文书
农村党支部承诺书
2015/04/30 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
60句有关成长的名言
2019/09/04 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
浅谈Python基础之列表那些事儿
2021/05/11 Python