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 当前日期加(天、周、月、年)
Aug 09 Javascript
javascript实现验证身份证号的有效性并提示
Apr 30 Javascript
JavaScript中的getDay()方法使用详解
Jun 09 Javascript
JavaScript制作简单的日历效果
Mar 10 Javascript
Jquery操作cookie记住用户名
Mar 29 Javascript
AngularJS实现星星等级评分功能
Sep 24 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
Feb 17 Javascript
js实现简易聊天对话框
Aug 17 Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 Javascript
微信小程序如何刷新当前界面的实现方法
Jun 07 Javascript
vue-property-decorator用法详解
Dec 12 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
php计算函数执行时间的方法
2015/03/20 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
Knockoutjs快速入门(经典)
2012/12/24 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
简单谈谈axios中的get,post方法
2017/06/25 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
Python struct.unpack
2008/09/06 Python
Python中使用中文的方法
2011/02/19 Python
python入门基础之用户输入与模块初认识
2016/11/14 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
Html5 web本地存储实例详解
2016/07/28 HTML / CSS
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
综合内勤岗位职责
2014/04/14 职场文书
房屋维修协议书范本
2014/09/25 职场文书
房屋过户委托书范本
2014/10/07 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
行为习惯主题班会
2015/08/14 职场文书
《全神贯注》教学反思
2016/02/22 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
在 Python 中利用 Pool 进行多线程
2022/04/24 Python