gpt4 book ai didi

javascript - AngularJS orderBy 问题

转载 作者:搜寻专家 更新时间:2023-11-01 05:09:33 24 4
gpt4 key购买 nike

抱歉,如果这听起来很蠢。

我遇到了类似于 this question 的问题虽然接受的答案有效,但它也带来了另一个问题:当我向数组添加一个新对象时,Angular 不会呈现它。

  app.controller('MainCtrl', [
'$scope',
'$filter',
'posts',
function($scope, $filter, posts) {
$scope.posts = $filter('orderBy')(posts.posts, '-votes')
}
]

我的添加函数:

    o.addPost = function(post) {
return $http.post('/posts', post).success(function(data) {
o.posts.push(data)
})
}

我能做些什么吗?

编辑:我要这样做:

  o.addPost = function(post) {
return $http.post('/posts', post)
}

app.controller('MainCtrl', [
'$scope',
'$filter',
'posts',
function($scope, $filter, posts) {
$scope.posts = $filter('orderBy')(posts.posts, '-votes')

$scope.addPost = function() {
posts.addPost(param).then(function(response) {
$scope.posts.push(response.data)
})
}
]

最佳答案

在工厂中只返回 http 而不是在工厂内展开 promise

o.addPost = function(post) {
return $http.post('/posts', post);
}

然后在工厂内部调用addPost方法,并在promise中捕获promise。

app.controller('MainCtrl', [
'$scope',
'$filter',
'posts',
function($scope, $filter, posts) {
var params = {};
posts.addPost(params).then(function(data) {
$scope.posts = $filter('orderBy')(data, '-votes')
})

}
])

关于javascript - AngularJS orderBy 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43860590/

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