2016-12-01 2 views
0

Meine Daten von einem JSON kommenAngularJS Daten nur nach dem Neuladen angezeigt

(Link zu sehen)

ich in meinem Logs sehen kann, die Daten geladen werden

Ich kann nicht Wert in meiner Vorlage angezeigt werden (Notwendigkeit nachladen Browser angezeigt werden)

Als meine Vorlage zu sehen sind unten ist sehr einfach selectedCategories.name im Titel und events Werten

Erst nach Reloaded Seite angezeigt wird, zweite nie.

Danke für Ihre Hilfe

Factory:

.factory('selectedCategoriesService', function($http, $stateParams) { 
     var selectedCategories = []; 

     return { 
     getselectedCategories: function(){ 
      return $http.get('http://www.myapi.com&data=categorie', { params: { cat: $stateParams.id } }).then(function(response){ 
       selectedCategories = response.data; 
       delete selectedCategories.api; 
       return response.data; 
      }); 
     }, 
     getselectedCategorie: function(selectedCategorieId){ 
      for(i=0;i<selectedCategories.length;i++){ 
       if(selectedCategories[i].id == selectedCategorieId){ 
        return selectedCategories[i]; 
       } 
      } 
     } 
    } 
}) 

Controller:

.controller('CategoriesListDetailCtrl',function($scope, $stateParams, selectedCategoriesService, $ionicModal){ 
    selectedCategoriesService.getselectedCategories().then(function(selectedCategories){ 
    $scope.selectedCategories = selectedCategories[0]; 
    console.log("Categorie = " + JSON.stringify(selectedCategories[0])); 
    }) 
}) 

Vorlage:

<ion-pane> 

    <ion-view view-title="{{selectedCategories.name}}"> 

    <ion-content class="has-header"> 

     <ion-item class="item-thumbnail-left" collection-repeat="event in events | DateDivider" divider-collection-repeat> 

      <h2>{{event.title}}</h2> 

     </ion-item> 

    </ion-content> 

    </ion-view> 

</ion-pane> 
+0

Wo ist '$ scope.events' definiert? – Ladmerc

+0

'$ scope.events' ist ein Array in meinem JSON http://www.sortiraujourdhui.fr/api/?u=Jacques%20Seite&k=d3bfbf2d30254ac827f1ea07d38aa3de&data=categorie&cat=33 – bklups

Antwort

0

Dies könnte ein Digest Zyklus Problem sein, können Sie benötigen $scope.$apply()

.controller('CategoriesListDetailCtrl',function($scope, $stateParams, selectedCategoriesService, $ionicModal){ 
    selectedCategoriesService.getselectedCategories().then(function(selectedCategories){ 
    $scope.selectedCategories = selectedCategories[0]; 
    $scope.$apply() 
    console.log("Categorie = " + JSON.stringify(selectedCategories[0])); 
    }) 
}) 
+0

Ich versuche' if (! $ Scope. $$ phase) {$ scope. $ apply();} 'aber nichts anhängen – bklups

0

Wenn der Titel, weil in meiner Vorlage verwende ich es nicht angezeigt verwenden:

<ion-view title="{{content.title}}"> 
    .... 

trotz von:

<ion-view> 
    <ion-nav-title>{{content.title}}</ion-nav-title> 
    ... 

Dank @Dunc

Verwandte Themen