我发现切换的这个例子在这里:离子触发值保持不变
我把它复制到我的项目像
在我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