2017-03-07 38 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