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的15款幻灯片插件
Apr 10 Javascript
jquery实现奇偶行赋值不同css值
Feb 17 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
Jan 27 Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 Javascript
Javascript农历与公历相互转换的简单实例
Oct 09 Javascript
jQuery图片轮播功能实例代码
Jan 29 Javascript
微信小程序 标签传入数据
May 08 Javascript
微信小程序 实现点击添加移除class
Jun 12 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
Nov 18 Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 Javascript
原生JS无缝滑动轮播图
Oct 22 Javascript
vue中jsonp插件的使用方法示例
Sep 10 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聊天室技术
2006/10/09 PHP
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
永不消失的title提示代码
2007/02/15 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
js中开关变量使用实例
2017/02/24 Javascript
Thinkjs3新手入门之如何使用静态资源目录
2017/12/06 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
javascript实现画板功能
2020/04/12 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
Python实现命令行通讯录实例教程
2016/08/18 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
python中的字符串内部换行方法
2018/07/19 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
keras之权重初始化方式
2020/05/21 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
个人应聘自我评价分享
2013/11/18 职场文书
售后服务经理岗位职责范本
2014/02/22 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
元旦促销方案
2014/03/15 职场文书
优秀纪检干部材料
2014/08/27 职场文书
优秀护士事迹材料
2014/12/25 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
Kubernetes控制节点的部署
2022/04/01 Servers