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 CSS菜单功能 改进版
Dec 20 Javascript
[推荐]javascript 面向对象技术基础教程
Mar 03 Javascript
使用jQuery validate 验证注册表单实例演示
Mar 25 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
在Html中使用Requirejs进行模块化开发实例详解
Apr 15 Javascript
javascript RegExp 使用说明
May 21 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
Dec 21 Javascript
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
Vue项目组件化工程开发实践方案
Jan 09 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
vue实现列表垂直无缝滚动
Apr 08 Vue.js
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
如何删除多级目录
2006/10/09 PHP
Yii2 GridView实现列表页直接修改数据的方法
2016/05/16 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
php判断目录存在的简单方法
2019/09/26 PHP
js 数据类型转换总结笔记
2011/01/17 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
python使用logging模块发送邮件代码示例
2018/01/18 Python
利用python实现对web服务器的目录探测的方法
2019/02/26 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
python+appium+yaml移动端自动化测试框架实现详解
2020/11/24 Python
css3 transform属性详解
2014/09/30 HTML / CSS
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
美发店5.1活动方案
2014/01/24 职场文书
境外导游求职信
2014/02/27 职场文书
建筑工地标语
2014/06/18 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
Python基础之变量的相关知识总结
2021/06/23 Python
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS
python双向链表实例详解
2022/05/25 Python