2016-11-11 3 views
1

$ http呼び出しによってjsonからdivの要素の数をロードしようとしています。しかし、私が試したものは何でも空のままです。ここにコードがあります。

<div class="submenu" > 
      <div class="menuitem" ng-repeat="item in navigator" >{{item}} 
       <a href="#/main/welcome/{{item.messageId}}">{{item.label}}</a> 
    </div> 

抽象的な状態であり、私はルーティングでコントローラgreetingctrlを割り当てました。 JSコードは

app.controller('greetingCtrl',function($scope,$cookieStore,$timeout,$state,msg,SERVICE,RestService,$stateParams){ 

    $scope.list = []; 
    $scope.navigator; 

    $scope.options.loading = false; 
    var currentmsg; 
    $scope.user = $cookieStore.get('userinfo'); 


    $scope.init = function(){   
     var url = SERVICE.greetingMsg; 
     var data = { 
      providerID : $cookieStore.get('userinfo').providerId, 
      loginID : $cookieStore.get('userinfo').loginId, 
      action : "GET_MESSAGE" 
     } 
     RestService.post(url,data).then(function(res){ 
      $scope.navigator = res.messages; 
     }, 
     function(err){ 
      console.log(err); 

     }); 
    } 

ここで私はデータを正常に受信できますが、リスト内のデータが来ることはありません。 RestService.postは私がサービスで定義した$ httpメソッドです。私は1.5.8の角度を使用していますが、角度が新しいです。

EDIT: ng-showとng-ifが削除されました。それでもデータがnnot NGが-場合はタグが含まれ、それが 0' に の変化を確認するために、いくつかの条件が必要である何

+0

コンソールにres.messagesを表示すると、完全なjsonが表示されますか? console.log(res.messages); –

+0

私はそれをオブジェクトの配列として見ることができます。私が再開すると、それは完了ですjson –

答えて

1

を動作するかどうか試してみてください。
- showmenu私は値が全く変わらないので、常にfalseです。
- loadingisDoneと同じです。

そして、どこか$scope.initに電話することを忘れないでください。

+0

showmenuは表示するメニューを切り替えるために作成したトグルです。これらの条件の両方を削除しても、データは表示されません。 –

+0

@SarangKhajuriaは 'res.messages'が配列として正しく返されていますか?または配列のような文字列ですか? – Dabbas

+0

配列を返しています。 –

0

を示している> それはあなたが2つの変数をチェックする必要があり

+0

私はそれらの両方を削除してもまだデータを表示していません –

0

ng-ifとng-showの両方のディレクティブを同じタグに使用する必要はありません。 & &および||を使用してそのDIVを表示できます。オペレータ。 変数の値が正しく更新されているかどうか確認してください。

+0

空の配列$ scope.navigator = [];に変数を代入してみてください。 –

-1

非同期実行では、スコープ付きデータの更新に$ scope。$を使用します。

RestService.post(url,data).then(function(res){ 
    $scope.$apply(function() { 
     $scope.navigator = res.messages; 
    }); 
} 
+0

angleの '.then'で' $ scope。$ apply'を使うと、 'すでに進行中のダイジェスト'エラーがほとんど保証されます。 – Icycool

関連する問題