Ionic - 使用切换禁用范围选择

Ionic - Disable Range Selection with Toggle

我在制作一个关于禁用范围选择脚本的离子应用程序时遇到问题,无法像我预期的那样工作:

对于控制器脚本:

.controller('SetDiscount', function($scope) {
    if ( $scope.checkbox = { checked: true }) {
         $scope.disabled = true
    } else {
         $scope.disabled = false
    }
});

对于模板 HTML:

<ion-view view-title="Set Discount">
  <div class="bar bar-subheader">

  </div>

  <ion-content class="has-header has-subheader"> 
    <ul class="list">
      <li class="item item-toggle">
          Safe Discount
          <label class="toggle toggle-dark">
            <input type="checkbox" ng-model="checkbox.checked">
            <div class="track">
              <div class="handle"></div>
            </div>
          </label>
      </li>
      <li class="item range range-dark" >
        Discount Amount
        <input type="range" name="volume" min="0" max="100" value="33" ng-model="discount" ng-disabled="disabled">
      </li> 
    </ul>
  </ion-content>
</ion-view>

任何建议如何像我的概念那样做 on this link

你可以声明$scope.disabled=true;在您的控制器中并将其用作复选框的 ng-model。在 Discount Amount li 标签上使用 ng-if 检查复选框是否被禁用。这里是密码笔 http://codepen.io/anon/pen/YXVMaK

.controller('MyCtrl', function($scope, $timeout) {
    $scope.myTitle = 'Template';        
    $scope.data = { 'volume' : '5' };      
    $scope.disabled=true;
})

像您一样将此登录名直接添加到控制器中会在控制器初始化时起作用,但不会在控制器的生命周期内起作用。 此外,由于ionic缓存了很多页面,当你回到你的页面时,控制器将不会再次初始化。

我建议您更改 ng-disabled 控制器:

ng-disabled="!checkbox.checked"