我在这里找到了这个切换示例:
我将其复制到我的项目中
在我的 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>
最佳答案
您可以使用ng-click
来做到这一点:
<ion-toggle ng-model="value" ng-click="value = !value">Test toggle</ion-toggle>
而且您也不需要 Controller 中的任何功能。
<小时/>更新:通过函数调用,它可以是:
<ion-toggle ng-model="value" ng-click="toggleChange()">Test toggle</ion-toggle>
$scope.toggleChange = function() {
$scope.value = !$scope.value;
}
关于javascript - ionic 切换值保持不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42649544/