角度火 - 错误:无法从状态'tabdash'解析'#/tabpost'



也许我的问题似乎很容易解决,但我有这个问题,因为很多小时:当我在我的仪表板,我的Firebase数据库的所有数据都是可见的(与Ng-repeat)。但是我无法找到一个解决方案,选择一个特定的项目,并在另一个页面看到他的详细信息。

我已经在上面测试了这个方法,我得到了这个错误"错误:无法解析'#/tabpost' from state 'tabdash".

这是HTML(这是一个例子):

<div ng-repeat="post in posts">
<div class="card" ui-sref="#/post/{id}">
<h1>{{post.title}}</h1>
<p>{{post.content}}</p>
</div>
</div>

在App JS:

  .state('tabpost', {
  url: 'tabpost/id',
  templateUrl: 'templates/tab-post.html',
  controller: 'PostCtrl'
  })

In Service JS (In Post Factory):

 myApp.factory("Post", ["$firebaseArray", "$firebaseObject", function($firebaseArray, $firebaseObject) {
var postRef = new Firebase('https://myApp.firebaseio.com/Posts/');
var userRef = new Firebase('https://myApp.firebaseio.com/Users/');
var posts = $firebaseArray(postRef);
     var Post = {
         all: posts,
         get: function (postKey){
          var postId = $firebaseObject(postRef);
                return $firebaseObject(eventRef.child('Posts').child(postId).child(userid));
              }
            ,
        add: function (post){
          var postId = $firebaseArray(postRef, userRef);
          event.userid = userRef.getAuth();
                return postId.$add(post);
              }
       }
       return Post;
}]);

我的PostCtrl:

myApp.controller('PostCtrl', ['$ionicFrostedDelegate', '$ionicScrollDelegate','$state','$scope', 'Post', 'Auth', '$firebaseObject', '$firebaseArray', '$routeParams', function($ionicFrostedDelegate, $ionicScrollDelegate, $state,$scope, Post, Auth, $firebaseObject, $firebaseArray, $routeParams) {
  var PostRef = new Firebase("https://myApp.firebaseio.com/Posts");
var id = $routeParams.id; //get the id from url, $routeParams is injected in controller
  $state.go('tabpost', {
    id: $scope.id
  });
  $scope.posts = Post.get(id); //call get() method of Post with the id retrieved
  $scope.post = {'title': '', 'content': ''};
  $scope.auth = Auth;

PS:我花了3个昼夜的时间去尝试一堆大多过时的教程,我相信解决方案不会那么简单。

我已经发布了三个类似的问题昨天和后来,但每个提出的解决方案都没有工作。如果有人能帮我走出困境,我将不胜感激。

我在使用jsFiddle方面还有一点问题,我保证一旦解决了这个问题,我就会学会使用它。

感谢您给我时间

您需要在您所在州的URL中使用冒号作为变量名的前缀。你的ui-router状态应该是

 .state('tabpost', {
  url: 'tabpost/:id',
  templateUrl: 'templates/tab-post.html',
  controller: 'PostCtrl'
  });

你应该像

一样链接到它
<div class="card" ui-sref="tabpost/{id}">

相关内容

  • 没有找到相关文章

最新更新