固然,即便努力了也沒作成,至少你也有收穫,由於你知道本身之後能夠避開這個坑。css
這是一個"IO"開關,請看效果圖和代碼,下一節,說明,數據交換html
Index HTML Codeios
<!DOCTYPE html> <html ng-app="ionicApp"> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title></title> <link href="lib/ionic/css/ionic.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet"> <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above <link href="css/ionic.app.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> <!-- your app's js --> <script src="js/app.js"></script> </head> <body> <ion-nav-bar class="bar-positive nav-title-slide-ios7"> <ion-nav-back-button class="button-icon ion-arrow-left-c"> </ion-nav-back-button> </ion-nav-bar> <ion-nav-view animation="slide-left-right"></ion-nav-view> <script id="templates/sign-in.html" type="text/ng-template"> <ion-view title="登陸"> <ion-content> <div class="list"> <label class="item item-input"> <span class="input-label">用戶名</span> <input type="text" ng-model="user.username"> </label> <label class="item item-input"> <span class="input-label">密 碼</span> <input type="password" ng-model="user.password"> </label> </div> <div class="padding"> <button class="button button-block button-positive" ng-click="signIn(user)"> 當即登陸 </button> <p class="text-center"> <a href="#/forgot-password">找回密碼</a> </p> </div> </ion-content> </ion-view> </script> <script id="templates/forgot-password.html" type="text/ng-template"> <ion-view title="找回密碼"> <ion-content padding="true"> <p>放棄是經線,堅持是緯線</p> <p>沒有一個谷底不可逾越</p> <p> 返回 <a href="#/sign-in">登陸</a>. </p> </ion-content> </ion-view> </script> <script id="templates/tabs.html" type="text/ng-template"> <ion-view> <ion-tabs class="tabs-icon-top tabs-positive"> <ion-tab title="首頁" icon="ion-home" href="#/tab/home"> <ion-nav-view name="home-tab"></ion-nav-view> </ion-tab> <ion-tab title="關於" icon="ion-ios7-information" href="#/tab/about"> <ion-nav-view name="about-tab"></ion-nav-view> </ion-tab> <ion-tab title="退出" icon="ion-log-out" href="#/sign-in"> </ion-tab> </ion-tabs> </ion-view> </script> <script id="templates/home.html" type="text/ng-template"> <ion-view title="首頁"> <ion-content> <div class="list"> <div class="item item-divider"> 設置 </div> <ion-toggle ng-repeat="item in settingsList" ng-model="item.checked" ng-checked="item.checked"> {{ item.text }} </ion-toggle> <div class="item"> <pre ng-bind="settingsList | json"></pre> </div> <div class="item item-divider"> 消息通知 </div> <ion-toggle ng-model="pushNotification.checked" ng-change="pushNotificationChange()"> 是否推送消息 </ion-toggle> <div class="item"> <pre ng-bind="pushNotification | json"></pre> </div> <ion-toggle toggle-class="toggle-assertive" ng-model="emailNotification" ng-true-value="{夜間模式}" ng-false-value="{正常模式}"> 模式調整 </ion-toggle> <div class="item"> <pre ng-bind="emailNotification | json"></pre> </div> </div> </ion-content> </ion-view> </script> <script id="templates/facts.html" type="text/ng-template"> <ion-view title="生活圈"> <ion-content padding="true"> <h3>若是你比你身邊的絕大多數人都強,那你該換朋友圈了</h3> <p>若非青春苦短,誰會想來日方長</p> <p>若非青春苦短,誰會想來日方長</p> <p> <a class="button icon ion-home" href="#/tab/home">首頁</a> <a class="button icon icon-right ion-chevron-right" href="#/tab/facts2">關於</a> </p> </ion-content> </ion-view> </script> <script id="templates/facts2.html" type="text/ng-template"> <ion-view title="關於"> <ion-content padding="true"> <h3>若是你比你身邊的絕大多數人都強,那你該換朋友圈了</h3> <p>若非青春苦短,誰會想來日方長</p> <p>若非青春苦短,誰會想來日方長</p> <a class="button icon ion-home" href="#/tab/home"> 首頁</a> <a class="button icon ion-chevron-left" href="#/tab/facts"> 生活圈</a> </p> </ion-content> </ion-view> </script> <script id="templates/about.html" type="text/ng-template"> <ion-view title="關於"> <ion-content padding="true"> <h3>若是你比你身邊的絕大多數人都強,那你該換朋友圈了</h3> <p>若非青春苦短,誰會想來日方長</p> <p>若非青春苦短,誰會想來日方長</p> <p> <a class="button icon icon-right ion-chevron-right" href="#/tab/navstack">關於</a> </p> </ion-content> </ion-view> </script> <script id="templates/nav-stack.html" type="text/ng-template"> <ion-view title="其它"> <ion-content padding="true"> <p><img src="http://ionicframework.com/img/diagrams/tabs-nav-stack.png" style="width:100%"></p> </ion-content> </ion-view> </script> </body> </html>
App Js Codeangularjs
angular.module('ionicApp', ['ionic']) .config(function($stateProvider, $urlRouterProvider) { $stateProvider .state('signin', { url: '/sign-in', templateUrl: 'templates/sign-in.html', controller: 'SignInCtrl' }) .state('forgotpassword', { url: '/forgot-password', templateUrl: 'templates/forgot-password.html' }) .state('tabs', { url: '/tab', abstract: true, templateUrl: 'templates/tabs.html' }) .state('tabs.home', { url: '/home', views: { 'home-tab': { templateUrl: 'templates/home.html', controller: 'HomeTabCtrl' } } }) .state('tabs.facts', { url: '/facts', views: { 'home-tab': { templateUrl: 'templates/facts.html' } } }) .state('tabs.facts2', { url: '/facts2', views: { 'home-tab': { templateUrl: 'templates/facts2.html' } } }) .state('tabs.about', { url: '/about', views: { 'about-tab': { templateUrl: 'templates/about.html' } } }) .state('tabs.navstack', { url: '/navstack', views: { 'about-tab': { templateUrl: 'templates/nav-stack.html' } } }) .state('tabs.contact', { url: '/contact', views: { 'contact-tab': { templateUrl: 'templates/contact.html' } } }); $urlRouterProvider.otherwise('/sign-in'); }) .controller('SignInCtrl', function($scope, $state) { $scope.settingsList = [ { text: "Wireless", checked: true }, { text: "GPS", checked: false }, { text: "Bluetooth", checked: false } ]; $scope.pushNotificationChange = function() { console.log('Push Notification Change', $scope.pushNotification.checked); }; $scope.pushNotification = { checked: true }; $scope.emailNotification = 'Subscribed'; $scope.signIn = function(user) { console.log('Sign-In', user); $state.go('tabs.home'); }; }) .controller('HomeTabCtrl', function($scope) { console.log('HomeTabCtrl'); });