AngularJS入门教程之多视图切换用法示例  更新时间:2016年11月02日 10:38:57   作者:Rongbo_J   这篇文章主要介绍了AngularJS多视图切换用法,结合实例形式分析了AngularJS基于多视图切换实现碎片文件动态载入的相关操作技巧,需要的朋友可以参考下 本文实例讲述了AngularJS多视图切换用法。分享给大家供大家参考,具体如下: 在AngularJS应用中,我们可以將html碎片写在一个单独的文件中,然后在其他页面中將该段碎片加载进来。如果有多个碎片文件,我们还可以在控制器中根据用户的操作动态的加载不同的碎片,从而达到切换视图的效果。 先来看看笔者写好的一个案例吧: 这两首词实际上是两个html碎片,分别写在page1.html和page2.html。下面是这两个文件的内容: 《南乡子·登京口北固亭有怀》 何处望神州?满眼风光北固楼。千古兴亡多少事,悠悠,不尽长江滚滚流。 年少万兜鍪,坐断东南战未休。天下英雄谁敌手,曹刘。生子当如孙仲谋。 《蝶恋花》 伫倚危楼风细细,望极春愁,黯黯生天际。草色烟光残照里,无言谁会凭阑意。 拟把疏狂图一醉,对酒当歌,强乐还无味。衣带渐宽终不悔,为伊消得人憔悴。 接下来我们看看如何实现这两个碎片的切换。 tutorial07.html Header 上一页 下一页 Copyright:Rongbo_J 这里我们需要用到AngularJs的路由模块ngRoute,模块代码封装在angular-route.js文件,和上节一样我们我们需要引入它。 然后将它注入到我们的模块中,代码如下: 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程序设计有所帮助。 您可能感兴趣的文章: AngularJS实现动态切换样式的方法分析 AngularJS标签页tab选项卡切换功能经典实例详解 详解AngularJS ng-class样式切换 angularJs的ng-class切换class 使用AngularJS2中的指令实现按钮的切换效果 AngularJS路由切换实现方法分析 AngularJS实现使用路由切换视图的方法 用AngularJS的指令实现tabs切换效果 使用AngularJS实现可伸缩的页面切换的方法 angularjs实现Tab栏切换效果 AngularJS 多视图切换 相关文章 Angularjs之filter过滤器(推荐) 这篇文章主要介绍了Angularjs之filter过滤器的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 2016-11-11 详解Angular 4.x 动态创建组件 本篇文章主要介绍了详解Angular 4.x 动态创建组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2017-04-04 angular6 填坑之sdk的方法 这篇文章主要介绍了angular6 填坑之sdk的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2018-12-12 AngularJS之ionic 框架下实现 Localstorage本地存储 这篇文章主要介绍了AngularJS之ionic 框架下实现 Localstorage本地存储,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2017-04-04 angular 基于ng-messages的表单验证实例 本篇文章主要介绍了angular 基于ng-messages的表单验证实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2017-05-05 Angular 2应用的8个主要构造块有哪些 这篇文章主要为大家详细介绍了Angular 2应用的8个主要构造块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2016-10-10 AngularJS 简单应用实例 本文主要介绍AngularJS 的简单应用实例,这里对AngularJS的知识总结,并提供实例代码和应用程序讲解,有需要的小伙伴可以参考下 2016-07-07 AngularJS入门教程之静态模板详解 本文主要介绍AngularJS 静态模板,这里整理了相关的基础资料,会帮助大家学习基础的AngularJS的基础知识,有需要的小伙伴可以参考下 2016-08-08 AngularJS 实现JavaScript 动画效果详解 本文主要介绍AngularJS 实现 JavaScript 动画的资料,这里整理了详细的资料和简单示例代码,有兴趣的小伙伴可以参考下 2016-09-09 详解angularjs中的隔离作用域理解以及绑定策略 本篇文章主要介绍了详解angularjs中的隔离作用域理解以及绑定策略,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-05-05 最新评论

本文实例讲述了AngularJS多视图切换用法。分享给大家供大家参考,具体如下:

在AngularJS应用中,我们可以將html碎片写在一个单独的文件中,然后在其他页面中將该段碎片加载进来。如果有多个碎片文件,我们还可以在控制器中根据用户的操作动态的加载不同的碎片,从而达到切换视图的效果。

先来看看笔者写好的一个案例吧:

这两首词实际上是两个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程序设计有所帮助。

您可能感兴趣的文章:

  • AngularJS实现动态切换样式的方法分析
  • AngularJS标签页tab选项卡切换功能经典实例详解
  • 详解AngularJS ng-class样式切换
  • angularJs的ng-class切换class
  • 使用AngularJS2中的指令实现按钮的切换效果
  • AngularJS路由切换实现方法分析
  • AngularJS实现使用路由切换视图的方法
  • 用AngularJS的指令实现tabs切换效果
  • 使用AngularJS实现可伸缩的页面切换的方法
  • angularjs实现Tab栏切换效果
张贴在3