2

我正在尝试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_pathPost工厂服务中访问?

4

1 回答 1

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/

于 2013-10-29T20:43:45.033 回答