gpt4 book ai didi

javascript - AngularFire - 如何使用 ng-repeat 定义子模板的项目 ID?

转载 作者:行者123 更新时间:2023-11-28 07:10:37 24 4
gpt4 key购买 nike

也许我的问题似乎很容易解决,但我已经有很多小时了这个问题:当我在仪表板中时,我的 Firebase 数据库的所有数据都是可见的(使用 Ng-repeat)。但我找不到选择一个特定项目并在另一页中查看其详细信息的解决方案。

我已经在 HTML 中测试了此方法(这是一个示例):

<div ng-repeat="post in posts">

<div class="card" ng-href="#/post/">">
<h1>{{post.title}}</h1>
<p>{{post.content}}</p>
</div>

</div>

在应用程序 JS 中:

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

服务中的 JS(在 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;

}]);

我的帖子Ctrl:

myApp.controller('PostCtrl', ['$ionicFrostedDelegate', '$ionicScrollDelegate','$state','$scope', 'Post', 'Auth', '$firebaseObject', '$firebaseArray', function($ionicFrostedDelegate, $ionicScrollDelegate, $state,$scope, Post, Auth, $firebaseObject, $firebaseArray) {

var PostRef = new Firebase("https://myApp.firebaseio.com/Posts");

$scope.posts = Post.all;

$scope.post = {'title': '', 'content': ''};

$scope.auth = Auth;

PS:花了16个小时尝试了一堆大多已经过时的教程,我确信解决方案不会那么简单。

我昨天和今天早上已经发布了两个类似的问题,但每个提出的解决方案都没有奏效。我将非常感谢能够帮助我摆脱困境的人。

我对 jsFiddle 仍然有一点问题,我 promise 一旦解决了这个问题我就会学习使用它。

谢谢你给我时间

最佳答案

您可以尝试下面这组代码吗?我已经解释了Controller中注释的变化,并在App JS中添加了:id

在应用程序 JS 中:

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

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

$scope.posts = Post.get(id); //call get() method of Post with the id retrieved

$scope.post = {'title': '', 'content': ''};

$scope.auth = Auth;

关于javascript - AngularFire - 如何使用 ng-repeat 定义子模板的项目 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31346154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com