我正在尝试通过阅读this article为我的Laravel 4 + angular.js 1.0.7
应用程序实现分页。
我的代码看起来,
var app = angular.module('cmsPlus', ['ngResource']);
app.service( 'Post', [ '$resource', function( $resource ) {
return $resource( 'posts/:id', { id: '@id'} );
}]);
function PostCtrl($scope, $http, Post) {
$scope.init = function () {
console.log(Post); // returns empty object
$scope.posts = Post.query(); // Post.query is not a function
// $scope.posts = Post.get(); // Post.get is not a function
}
}
为什么我要使用console.log(Post);
获取空对象?为什么它显示Post.query is not a function
错误?我该如何解决?
现在我有两个工厂服务,
app.factory('Data', function(){
return {
root_path: "<?php echo Request::root(); ?>/"
};
});
app.factory( 'Post', [ '$resource', function( $resource ) {
return $resource( 'posts/:id', { id: '@id'} );
}]);
如何在Data.root_path
工厂服务中访问Post
?
答案 0 :(得分:4)
我认为您想使用工厂而不是服务,即:
app.factory( 'Post', [ '$resource', 'Data', function( $resource, Data ) {
return $resource( Data.root_path + 'posts/:id', { id: '@id'} );
}]);
此链接显示了不同之处:
http://blog.manishchhabra.com/2013/09/angularjs-service-vs-factory-with-example/