Thinkster.io Angularjs教程第3章-未添加帖子
我很难添加帖子。提交表单后,它不会显示在帖子列表中 我的控制器是:Thinkster.io Angularjs教程第3章-未添加帖子,angularjs,Angularjs,我很难添加帖子。提交表单后,它不会显示在帖子列表中 我的控制器是: myapp.controller('PostsCtrl', function ($scope, Post) { $scope.posts = []; $scope.post = {url: 'http://', title: ''}; $scope.submitPost = function() { Post.save($scope.post, function (ref) { $scope.p
myapp.controller('PostsCtrl', function ($scope, Post) {
$scope.posts = [];
$scope.post = {url: 'http://', title: ''};
$scope.submitPost = function() {
Post.save($scope.post, function (ref) {
$scope.posts[ref.name] = $scope.post;
$scope.post = {url: 'http://', title: ''};
});
};
$scope.deletePost = function (postId) {
Post.delete({id: postId}, function () {
delete $scope.posts[postId];
});
};
});
广告模板为:
<div ng-repeat="(postId, post) in posts">
<a href="{{ post.url }}">{{ post.title }}</a>
<a ng-click="deletePost(postId)">delete</a>
</div>
<form ng-submit="submitPost()">
<input type="text" ng-model="post.title" />
<input type="text" ng-model="post.url" />
<input type="submit" value="Add Post" />
</form>
Firebase响应可以正确设置ref.name值,但它似乎不是帖子映射的有效键类型
我想知道我错过了什么
亲切问候,
Stephane Eybertref.name是一个字符串,而您只能在数组或[]中使用整数 这里也提到了这个问题:
调试器呢?有错误吗?我可以解决这个问题,还是我解决了?通过将持久性id存储为属性$scope.link.id=ref.name;并像在:$scope.links.push$scope.link中那样进行推送;问题来自使用持久性id作为键的映射。