温泉开关没有记住它的状态(并且没有调用开关上的调用功能)?

时间:2015-12-13 13:08:18

标签: onsen-ui

我有一个Onsen-UI Switch。我打开它,然后离开页面。当我返回页面时,开关已切换为关闭;交换机还没记得它的状态? 我也在编码Switch时遇到问题,所以它调用了Switch上的一个函数。 我已经阅读了Onsen Docs并在线搜索,但我找不到一个清晰编码的例子来实现上述目标。

<label class="switch">
    <input type="checkbox" var="switchName" ng-model="switchState" ng-change="switchChanged()" class="switch__input">
    <div class="switch__toggle"></div>
</label>

脚本

function switchChanged() {
     if ($scope.switchState == true) {
            // Switch to saving app data into Production Database
       } else {
            // Switch to saving app data into Developer Database
          };
      };

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

只要包含它的页面没有被销毁并再次创建,

ons-switch就会记住它的状态。您可以使用pushPage中的ons-navigatorons-tabbar中的永久标签来实现这一目标。

如果您想收听ons-switch的{​​{1}}事件:

change

您可以在此处看到它:http://codepen.io/frankdiox/pen/JGYZvx

希望它有所帮助!

答案 1 :(得分:0)

您需要存储状态或值ng-nodal(可能在数据库中)。然后使用该值初始化您的开关输入。 从您的存储中进行初始化 控制器

$scope.switchtoggle = value == 1;

$scope.switchTrigger = function (obj){
    if(obj){
        //Do something
    } else {
        //Do something else
    }
}
HTML中的

<ons-switch ng-model="switchtoggle" ng-change="switchTrigger(switchtoggle)" ></ons-switch>