我在这里找到了这个Toggle的例子:
我将它复制到我的项目中,如
在我的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>
答案 0 :(得分: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;
}
答案 1 :(得分:0)
使用ng-change
更新模型
<ion-toggle ng-model="value" ng-change="toggleChange()">Test toggle</ion-toggle>
toggleChange功能代码
$scope.toggleChange = function(){
$scope.value = !$scope.value
});