2014-07-03 39 views
0

我有一個非常簡單的設置,如下所示。我的問題是,我在$ http的成功回調中設置的兩個變量中,一個反映在UI中,另一個反映在另一箇中。

正如你可以看到即時通訊試圖顯示控制器加載時的進度,並在成功回調執行後隱藏它。但它不起作用,因爲我在成功回調中設置的錯誤似乎並未傳播給用戶界面。

messages.html

<div> 
<div ng-include="'partials/common/progress.tpl.html'"></div> 
<div>{{message}}</div> 

progress.tpl.html

<div ng-show="{{showProgress}}" class="overlay" id="overlay"></div> 

控制器

app.controller('MessageController',['$scope','$http','ROOT_URL','$q', 
    function($scope,$http,ROOT_URL,$q) { 
    $scope.showSkipBtn = "false"; 
    $scope.title = "Message of the Day";  
    $scope.showProgress = "true";  
    $http.get(ROOT_URL+'get_message_for_the_day').then(function(result){ 
     $scope.message = result.data.message_of_the_day.replace(/\r?\n/g,'<br/>');  
     $scope.showProgress = "false"; 
     console.log($scope.showProgress); 
    });    
}]) 
+0

花括號'NG-show'評估傳遞給它的表達,如果表達式的計算結果爲truthy隱藏元件。字符串「false」是truthy(以及你所擁有的「true」)。你可能正在使用布爾型的「假」和「真」# – Ian

+0

@我認爲你是對的,但你需要做出這個答案而不是評論。然後它可以被投票,它可以幫助其他人看到問題清單,答案和答案。 –

+0

@JohnMunsch其實我錯了。剛剛發佈的答案似乎是正確的。我不確定爲什麼,但我認爲字符串「真」和「假」都不起作用。簡單地刪除'{{}}'(我的意見包括在我的評論中,現在我看到它了),修正了這個問題,而不使用布爾真/假 – Ian

回答

1

在progress.tpl.html除去包圍showProgress