ионные переключатели, не влияющие на правильное локальное хранилище

0

Имея проблему с ионными переключателями, где когда-либо переключается, вы меняете ее, а только последнее выражение, приведенное ниже, находится в локальном хранилище.

Это список переключателей...

$scope.settingsList = [

    { text: "GBP", checked: gbpON },
    { text: "USD", checked: usdON },
    { text: "EURO", checked: euroON },
    { text: "AUD", checked: audON },
    { text: "CAD", checked: cadON },
    { text: "YEN", checked: yenON }
];

Это HTML...

<div class="list">  
    <ion-toggle ng-repeat="item in settingsList"
                ng-model="item.checked" 
                ng-checked="item.checked"
                ng-change="toggleONOFF({{item.text}})"
                toggle-class="toggle-royal">
      {{item.text}}
    </ion-toggle>
</div> 

и это то, что происходит, когда вы нажимаете на переключатель...

$scope.toggleONOFF = function($var) {

    // GBP is toggled
    if ($var = "GBP") {   

        if (localStorage.getItem("gbpON") == "true") {  

            localStorage.setItem("gbpON", false);

        } else {

            localStorage.setItem("gbpON", true);    
        }
    };

    // USD is toggled
    if ($var = "USD") {   

        if (localStorage.getItem("usdON") == "true") {  

            localStorage.setItem("usdON", false);

        } else {

            localStorage.setItem("usdON", true);    
        }
    };

    // EURO is toggled
    if ($var = "EURO") {   

        if (localStorage.getItem("euroON") == "true") {  

            localStorage.setItem("euroON", false);

        } else {

            localStorage.setItem("euroON", true);    
        }
    }

    // AUD is toggled
    if ($var = "AUD") {   

        if (localStorage.getItem("audON") == "true") {  

            localStorage.setItem("audON", false);

        } else {

            localStorage.setItem("audON", true);    
        }
    }

    // CAD is toggled
    if ($var = "CAD") {   

        if (localStorage.getItem("cadON") == "true") {  

            localStorage.setItem("cadON", false);

        } else {

            localStorage.setItem("cadON", true);    
        }
    }

    // YEN is toggled
    if ($var = "YEN") {   

        if (localStorage.getItem("yenON") == "true") {  

            localStorage.setItem("yenON", false);

        } else {

            localStorage.setItem("yenON", true);    
        }
    }
}

Проблема, с которой я сталкиваюсь, - это когда-либо переключать вы нажимаете ее, только меняет иену в локальном хранилище, а не тот, с которым она связана. Например toggleONOFF (GBP)

Теги:
ionic-framework
local-storage

1 ответ

0

Полагаю, что добавляю ; в выражении if-else виновник также должен инициализировать ваш localStorage с некоторым значением или условием проверки перед его использованием в инструкции if-else.

if ($var = "GBP") {   
    if (localStorage.getItem("gbpON") == "true") {  
        localStorage.setItem("gbpON", false);
    } else {
        localStorage.setItem("gbpON", true);    
    }
};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню