我發現切換的這個例子在這裏:離子觸發值保持不變
我把它複製到我的項目像
在我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」。我沒有看到什麼問題?
更新上公佈的解決方案:
解決方案:
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>
是的,它是一個來自離子框架的bug – Gaurav
你是什麼意思?這裏:http://codepen.io/keval5531/pen/LVYROp?editors=1011#0其工作正常 – Bobys
在這個codepen他們正在使用函數'$ scope.toggleChange'自定義代碼,它不會自動工作。 – Gaurav