2017-03-07 57 views
1

我發現切換的這個例子在這裏:離子觸發值保持不變

我把它複製到我的項目像

在我app.js

app.controller('ContactCtrl', function($scope,$interval) { 
$scope.value = false; 
    console.log('ContactCtrl started') ; 

$scope.toggleChange = function(){ 
    if($scope.value == false) { 
    $scope.value = true; 
    } 
    else 
    $scope.value = false; 
    console.log('testToggle changed to '+$scope.value); 
    }; 
    }); 

在HTML:

<ion-view title="Log in" id="page12"> 
    <ion-content ng-controller="ContactCtrl" padding="true" class="has-header"> 
    <div id="settings-markdown6" style="text-align:center;" class="show-list-numbers-and-dots"> 
     <p style="color:#000000;font-size:23px;">Settings</p> 
    </div> 

    <ion-toggle ng-model=value ng-change="toggleChange()">Test toggle</ion-toggle> 

    </ion-content> 
</ion-view> 

問題是我收到控制檯日誌,但似乎切換保持總是FALSE。每當我按下切換控制檯報告:「testToggle更改爲false」。我沒有看到什麼問題?

更新上公佈的解決方案:

Not working solution

解決方案:

app.controller('ContactCtrl', function($scope, $localStorage) { 
    $scope.value = false; 
    $scope.change = function() { 
     console.log($scope.value); 
    } 
    }); 

<ion-toggle ng-model="value" ng-checked="value" ng-change="change()"toggle-class="toggle-royal">Airplane Mode</ion-toggle> 
+0

是的,它是一個來自離子框架的bug – Gaurav

+0

你是什麼意思?這裏:http://codepen.io/keval5531/pen/LVYROp?editors=1011#0其工作正常 – Bobys

+0

在這個codepen他們正在使用函數'$ scope.toggleChange'自定義代碼,它不會自動工作。 – Gaurav

回答

0

你可以用ng-click做到這一點:

<ion-toggle ng-model="value" ng-click="value = !value">Test toggle</ion-toggle> 

而且你也不需要任何功能在控制器中。


更新:用一個函數調用,也可以是:

<ion-toggle ng-model="value" ng-click="toggleChange()">Test toggle</ion-toggle> 
$scope.toggleChange = function() { 
    $scope.value = !$scope.value; 
} 
+0

我需要的控制器,因爲在以下情況下: 摘>上:我想加載一個彈出式模態和做的東西 導通>關:我希望做一些其他的東西 那概念 – Bobys

+0

解決謝謝爲你的時間 – Bobys

0

使用ng-change用於更新模型

<ion-toggle ng-model="value" ng-change="toggleChange()">Test toggle</ion-toggle> 

toggleChange功能代碼

$scope.toggleChange = function(){ 
    $scope.value = !$scope.value 
}); 
+0

我試過你的解決方案,但不工作,檢查第一個問題的GIF圖像。您提供的解決方案與Mistalis解決方案一起提供的結果相同。 – Bobys