【发布时间】:2014-11-02 22:16:40
【问题描述】:
我有一个页面,其中包含 ng-init = find(),在我转到其他页面并对 db 执行某些操作后,原始页面中的数据会发生变化。然后我将用户重定向到原始页面。我希望看到第一页的变化。
$scope.find = function() {
Stats.query
.then(function(stats){
$scope.stats = stats;
});
};
Stats 是我通过注入 restangular 创建的服务。服务如下所示:
angular.module('mean.stats').factory('Stats', ['Restangular',
function(Restangular) {
var stats = Restangular.all('stats');
return {
query: stats.getList()
}
}]);
它不像我预期的那样工作。但是如果我使用传统的 $resource 方法,结果是正确的。
angular.module('mean.stats').factory('Stats', ['$resource',
function($resource) {
return $resource('stats/:statsId', {
statsId: '@_id'
});
}]);
后来我发现这个restangular的东西也可以正常工作。我不太明白为什么会这样...有谁知道发生了什么?谢谢。
angular.module('mean.stats').factory('Stats', ['Restangular',
function(Restangular) {
var stats = Restangular.all('stats');
return {
query: function(){
return stats.customGETLIST('');
}
}
}]);
【问题讨论】:
-
您是否在浏览器的“网络”控制台中看到正在拨打电话?所以你有一个错误信息?
-
没有没有错误信息。我看到 put 也正确执行了。
-
如果你 console.log 使用 restangular 调用结果会怎样?顺便说一句,您的第二个代码示例中缺少括号,这很令人困惑:-)
-
我控制台日志并意识到矩形放置是成功的,我的数据库也告诉我同样的事情。但是重定向仍然没有显示正确的信息。我稍后会修复括号。
标签: angularjs resources promise restangular angular-services