2016-01-13 33 views
0

我有一個註冊頁面,當註冊表格被填寫並且註冊按鈕被按下時,從後端獲得響應。離子平臺ng-show只是第二次工作

如果用戶名在數據庫中存在,響應返回false,然後從那裏我改變$範圍變量($ scope.signedUp)爲true,這應該簡單地展示這個現有的錯誤消息:

<div class="padding assertive" ng-show="signedUp"> 
    <i class="icon ion-minus-circled"></i> 
    Woops! Looks like that user already exists, try a different username. 
</div> 

這裏是註冊控制器內的電流範圍功能:

$scope.signup = function(){ 
    User.signup($scope.credentials).then(function(res){ 
     if(res === false){ 
     console.log('res is: ', res); 
     $scope.signedUp = true; 
     console.log('$scope.signedUp ',$scope.signedUp); 
     } 
    }); 
}; 

我第一次填寫的信息了,點擊註冊,控制檯日誌記錄本:

app.js:47 res is: false 
app.js:49 $scope.signedUp true 

但是,錯誤並沒有出現,但奇怪的是,當我再次單擊它時,它確實顯示出來,但控制檯日誌中沒有任何不同,這是一個離子的bug嗎?我在這裏發現一個類似的帖子:

ng-hide/ng-show within an ng-hide/ng-show not working properly in **chrome** on first trigger, second time it reflects just fine

但似乎海報工作圍繞它顯示沒有,我不希望如果可能的話要做到這一點,謝謝。

+0

我想知道下面的答案是否回答你的問題,如果不是你還有什麼需要知道的嗎?如果這能解決您的問題,標準做法是'接受'下面的答案。 – par

回答

1

如果更新範圍的變量是可見的視圖下執行下面一行:

$scope.$apply(); 

這刷新輸出,就會更新。 但是,如果沒有看到完整的代碼很難說。

相關問題