Ionic Demo 解析

Ionic Demo 解析

index.html 解析

1.引入所须要的类库

<link rel="manifest" href="manifest.json">
    <link href="lib/ionic/css/ionic.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <!-- ionic/angularjs js -->
    <script src="lib/ionic/js/ionic.bundle.js"></script>
    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>

2.引入自定义js(app.js,servcie,controller等)

<!-- your app's js -->
    <script src="js/app.js"></script>
    <script src="js/controllers.js"></script>

3.添加app显示的容器 (此处 ng-app 定义了app总模块名称)

<body ng-app="starter">
        <ion-nav-view></ion-nav-view>
    </body>

app.js解析

1.定义总模块,引入须要的模块(此处引入了ionic,starter.controllers)

2.运行时须要的操做设置

3.配置app的导航映射

//定义总模块名为starter,此处名称要与index上的ng-app相对应
    angular.module('starter', ['ionic', 'starter.controllers'])

    .run(function($ionicPlatform) {
      $ionicPlatform.ready(function() {
        //app 准备完成后要进行什么操做 放到这个方法里面
      });
    })

    //配置app的导航
    .config(function($stateProvider, $urlRouterProvider) {
      $stateProvider

        //设置viewport ,配置其controller
        .state('app', {
            url: '/app',
            abstract: true,
            templateUrl: 'templates/menu.html',
            controller: 'AppCtrl'
        })
        //配置一个模块
        .state('app.search', {
            url: '/search',
            views: {
                'menuContent': {
                    templateUrl: 'templates/search.html'
                }
            }
        })

        //配置一个模块,而且url能接收一个参数
        .state('app.single', {
            url: '/playlists/:playlistId',
            views: {
                'menuContent': {
                    templateUrl: 'templates/playlist.html',
                    controller: 'PlaylistCtrl'
                }
            }
        });

        // 其余状况下跳转到该页面
        $urlRouterProvider.otherwise('/app/playlists');
    });
<!-- viewport-->
    <ion-side-menus enable-menu-with-back-views="false">

     <!-- 页面切换的主容器-->
      <ion-side-menu-content>
        
        <!--配置导航工具栏 -->
        <ion-nav-bar class="bar-stable">
          
          <!--添加后退按钮 -->
          <ion-nav-back-button>
          </ion-nav-back-button>
          
          <!-- 添加一个菜单按钮在左边-->
          <ion-nav-buttons side="left">
            <button class="button button-icon button-clear ion-navicon" menu-toggle="left">
            </button>
          </ion-nav-buttons>

        </ion-nav-bar>

        <!--添加切换页面的容器 -->
        <ion-nav-view name="menuContent"></ion-nav-view>

      </ion-side-menu-content>

      <!-- 配置导航菜单 -->
      <ion-side-menu side="left">
        <!-- 菜单名称-->
        <ion-header-bar class="bar-stable">
          <h1 class="title">Left</h1>
        </ion-header-bar>
        
        <!--菜单列表,跳转配置 -->
        <ion-content>
          <ion-list>
            <ion-item menu-close ng-click="login()">
              Login
            </ion-item>
            <ion-item menu-close href="#/app/search">
              Search
            </ion-item>
            <ion-item menu-close href="#/app/browse">
              Browse
            </ion-item>
            <ion-item menu-close href="#/app/playlists">
              Playlists
            </ion-item>
          </ion-list>
        </ion-content>

      </ion-side-menu>

    </ion-side-menus>

各个模块页面定义

1.使用ion-view为根标签(设置页面title)

2.ion-content标签里面放主要页面内容

<!--定义页面title-->
    <ion-view view-title="Browse">
      <!--定义页面主要内容-->
      <ion-content>
        <!--页面内容-->
        <h1>Browse</h1>
      </ion-content>
    </ion-view>

controller定义

1.定义一个controllers模块

angular.module('starter.controllers', []);

2.controller都定义在controllers,模块之下

angular.module('starter.controllers')
    .controller('AppCtrl', ['$scope',function($scope) {

    }]);

3.同时定义

angular.module('starter.controllers', [])
    .controller('AppCtrl', ['$scope',function($scope) {

    }]);

示例项目

github - IonicDemojavascript

相关文章
相关标签/搜索