2017-02-15 68 views
0

我有一個SPA'blog'使用ui-router並使用firebase作爲後端與角火。博客頁面調用數組沒有問題並且正確加載。當我選擇一個單獨的帖子時,它會從通過帖子從Firebase中拉出的數組中加載$ stateParams({id:post。$ id})。state will not display data on reload Ui-Router and angularfire

但是,當我刷新該頁面時,唯一的帖子丟失。

代碼如下:路由器=

  .state(homeState = { 
      name: 'root.home.post', 
      url: '/{{postId}}', 
      views: { 
       '[email protected]': { 
        templateUrl: 'views/post/post.html' 
       } 
      } 
     }) 

post.js =

 var id = $stateParams.postId; // console.logs correctly even after refresh 
     var ref = Posts; //console.logts $resolved: false after refresh though data from main page still in the array 
     var post = ref.$getRecord(id); //console.logs as null after refresh 
     $scope.post = post; 

不知道如果多數民衆贊成足夠去,但我現在已經有這個掙扎了幾個小時,想睡覺。乾杯。

回答

0

固定我自己的問題(是兩折)

更新post.js後,包括$範圍的更新$加載,因爲它是加載頁面後剩下的被塗:

  var id = $stateParams.postId; 
     console.log(id); 
     var ref = Posts.$loaded().then(function(ref){ 
      var post = ref.$getRecord(id); 
      $scope.post = post; 
     }); 

我還更新了刪除{}參數的路線:

  .state(postState = { 
      name: 'root.post', 
      url: '/post/{postId}', 
      views: { 
       '[email protected]': { 
        templateUrl: 'views/post/post.html' 
       } 
      }, 

     })