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 相关文章推荐
基于jquery的一个拖拽到指定区域内的效果
Sep 21 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
Mar 05 Javascript
JavaScript DOM进阶方法
Apr 13 Javascript
JavaScript:Array类型全面解析
May 19 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
jQuery向webApi提交post json数据
Jan 16 Javascript
从零学习node.js之express入门(六)
Feb 25 Javascript
解决webpack打包速度慢的解决办法汇总
Jul 06 Javascript
JS运动特效之链式运动分析
Jan 24 Javascript
基于vue2.0动态组件及render详解
Mar 17 Javascript
详解为生产环境编译Angular2应用的方法
Dec 10 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
Jan 08 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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
php操作csv文件代码实例汇总
2014/09/22 PHP
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
Vue实现日历小插件
2019/06/26 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
Python用for循环实现九九乘法表
2018/05/31 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
vivo智能手机官方商城:vivo
2016/09/22 全球购物
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
求职简历的自我评价
2014/01/31 职场文书
教育技术职业规划范文
2014/03/04 职场文书
债务纠纷委托书
2014/08/30 职场文书
我的中国梦主题班会
2015/08/14 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
java泛型通配符详解
2021/07/25 Java/Android