也许我的问题似乎很容易解决,但我有这个问题,因为很多小时:当我在我的仪表板,我的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}">