Mam przycisk, który chcę wyłączyć, gdy lokalne przechowywanie jest puste

<button ng-show="LS_wimmtkey!==null">{{LS_wimmtkey}}</button>

Wartość przycisku pokazuje NULL, ale pokazano, dlaczego tak było? Próbowałem pisać ng-show="1===2", gdy działał poprawnie, więc problem jest z LS_wimmtkey

Tak używam:

W main.controller.js:

$rootScope.LS_wimmtkey = localStorage.getItem('LS_wimmtkey');
    $rootScope.$watch("LS_wimmtkey", function() {
    localStorage.setItem('LS_wimmtkey', $rootScope.LS_wimmtkey);

Moja main.view jest włożona do przeglądu

Dodam wartości do lokalnego przechowywania po przesłaniu w review.controller.js

function submit() {  
    if($rootScope.name!=null)    {
        var JSONObject = {
             "name":$rootScope.name,
             "surname":$rootScope.surname,
             "email":$rootScope.email,
             "review":$rootScope.review
            }
        var temp={
            "name":$rootScope.name,
             "surname":$rootScope.surname,
             "email":$rootScope.email
        }
        $scope.localArray.push(temp);
        $rootScope.LS_wimmtkey = $scope.localArray;
       // $rootScope.localStorageService.set("LS_wimmtkey", $scope.localArray);debugger;
       // $rootScope.LS_wimmtkey= localStorageService.get("LS_wimmtkey"); debugger;


        var Results = UniversalService.PostReview(JSON.stringify(JSONObject));
        }
    }

Drukuj console.log($rootScope.LS_wimmtkey); i jest null, więc dlaczego przycisk nie jest ukryty?

0
user122222 27 czerwiec 2017, 09:06

3 odpowiedzi

Najlepsza odpowiedź

Spróbuj z nim null , myślę, że twój null jako ciąg, to jest technicznie niepoprawne, ale może ci pomóc.

<button ng-show="LS_wimmtkey!=='null'">{{LS_wimmtkey}}</button>
1
Dixit 27 czerwiec 2017, 06:21

"LS_WIMMTKEY" należą do $ rootscope, proszę przypisać to zmienne do zakresu kontrolera. Ponieważ $ Rootskope nie bing do szablonu.

Fix to:

        $scope.LS_wimmtkey = localStorage.getItem('LS_wimmtkey');
        $rootScope.$watch("LS_wimmtkey", function() {
        localStorage.setItem('LS_wimmtkey', $scope.LS_wimmtkey);
0
Azeem Chauhan 27 czerwiec 2017, 11:23

Tak, nie możemy być sprawdzane NULL przez LS_wimmtkey!==null Prawdopodobnie jego ciąg zawsze zwraca prawdę Zaproponowałem:

<button ng-show="LS_wimmtkey">{{LS_wimmtkey}}</button>

Spróbuj tego, to zadziała, będzie działać z undefine null itp.

2
Sumit Jaiswal 27 czerwiec 2017, 06:23