codecamp

ionic 切换开关操作

ionic 切换开关操作

以下实例中,通过切换不同开关 checked 显示不同的值,true 为打开,false 为关闭。

HTML 代码

<ion-header-bar class="bar-positive">
  <h1 class="title">开关切换</h1>
</ion-header-bar>
         
<ion-content>
  
  <div class="list">
    
    <div class="item item-divider"> 
      Settings
    </div>
    
    <ion-toggle ng-repeat="item in settingsList"
                ng-model="item.checked" 
                ng-checked="item.checked">
      {{ item.text }}
    </ion-toggle>
    
    <div class="item">
    	<!-- 使用 pre 标签展示效果更美观 -->
      <div ng-bind="settingsList | json"></div> 
    </div>
    
    <div class="item item-divider"> 
      Notifications
    </div>
    
    <ion-toggle ng-model="pushNotification.checked"
                ng-change="pushNotificationChange()">
      Push Notifications
    </ion-toggle>
    
    <div class="item">
    	<!-- 使用 pre 标签展示效果更美观 -->
      <div ng-bind="pushNotification | json"></div> 
    </div>
    
    <ion-toggle toggle-class="toggle-assertive"
                ng-model="emailNotification"
                ng-true-value="'Subscribed'"
                ng-false-value="'Unubscribed'">
      Newsletter
    </ion-toggle>
    
    <div class="item">
    	<!-- 使用 pre 标签展示效果更美观 -->
      <div ng-bind="emailNotification | json"></div> 
    </div>
    
  </div>
  
</ion-content>

由于pre标签冲突,实例中的 pre 已替换为 div标签,具体可以在"尝试一下"中查看。

JavaScript 代码

angular.module('ionicApp', ['ionic'])

.controller('MainCtrl', function($scope) {

  $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';
  
});

css 代码:

body {
  cursor: url('//www.w3cschool.cn/statics/demosource/finger.png'), auto;
}

尝试一下 »

效果如下所示:


ionic 单选框操作
ionic 手势事件
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }