ホームページ > php教程 > PHP开发 > AngularJS入門チュートリアル - マルチビュー切り替え使用例

AngularJS入門チュートリアル - マルチビュー切り替え使用例

高洛峰
リリース: 2016-12-08 10:39:58
オリジナル
1246 人が閲覧しました

この記事の例では、AngularJS マルチビュー切り替えの使用方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

AngularJS アプリケーションでは、HTML フラグメントを別のファイルに記述し、そのフラグメントを他のページにロードできます。複数のフラグメント ファイルがある場合は、ユーザーの操作に基づいて異なるフラグメントをコントローラーに動的にロードして、ビューを切り替える効果を実現することもできます。

まず、著者が書いたケースを見てみましょう:

AngularJS入門チュートリアル - マルチビュー切り替え使用例

これら 2 つの詩は、実際には 2 つの HTML フラグメントであり、それぞれ page1.html と page2.html で書かれています。これら 2 つのファイルの内容は次のとおりです:

<!--page1.html内容-->
<div>
  <p>《南乡子·登京口北固亭有怀》</p>
  <p>何处望神州?满眼风光北固楼。千古兴亡多少事,悠悠,不尽长江滚滚流。</p>
  <p>年少万兜鍪,坐断东南战未休。天下英雄谁敌手,曹刘。生子当如孙仲谋。</p>
</div>
ログイン後にコピー
<!--page2.html内容-->
<div>
  <p>《蝶恋花》</p>
  <p>伫倚危楼风细细,望极春愁,黯黯生天际。草色烟光残照里,无言谁会凭阑意。</p>
  <p>拟把疏狂图一醉,对酒当歌,强乐还无味。衣带渐宽终不悔,为伊消得人憔悴。</p>
</div>
ログイン後にコピー

次に、これら 2 つのフラグメントを切り替える方法を見てみましょう。

<!DOCTYPE html>
<html ng-app="routeMod">
<head>
  <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(&#39;routeMod&#39;, [&#39;ngRoute&#39;]);
    routeMod.config([&#39;$routeProvider&#39;,function($routeProvider){
      $routeProvider.when(&#39;/1&#39;,{
        templateUrl:&#39;tutorial07/page1.html&#39;,
        controller:&#39;MultiViewController&#39;
      })
      .when(&#39;/2&#39;,{
        templateUrl:&#39;tutorial07/page2.html&#39;,
        controller:&#39;MultiViewController&#39;
      })
    }])
    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(&#39;routeMod&#39;, [&#39;ngRoute&#39;]);
ログイン後にコピー

次の作業は、HTML フラグメントのアクセス パスを設定することです。$routeProvider サービスを設定するために、モジュールの config メソッドを呼び出す必要があります。コードは次のとおりです。

routeMod.config([&#39;$routeProvider&#39;,function($routeProvider){
  $routeProvider.when(&#39;/1&#39;,{
    templateUrl:&#39;tutorial07/page1.html&#39;,
    controller:&#39;MultiViewController&#39;
  })
  .when(&#39;/2&#39;,{
    templateUrl:&#39;tutorial07/page2.html&#39;,
    controller:&#39;MultiViewController&#39;
  })
}])
ログイン後にコピー

ng-view ディレクティブを通じてビューを定義し、コントローラーで $location.path() メソッドを呼び出して、ビューにロードするフラグメントを指定します。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート