通过$ stateprovider在angularjs中的一个$资源中容纳多个州?

时间:2014-10-12 00:58:03

标签: angularjs resources angular-resource

我有一个要求,即某个特定页面的angularjs状态会有所不同。比如,/ items / create和/ items / list - 这两个是我2个不同状态的网址。现在,我如何在一个$资源中容纳它们?可能吗?或者我必须创建2 $资源或2个工厂?

<angular module>.config(['$stateProvider', function($stateProvider){
    $stateProvider
    .state('items', {
        url: '/items/create',
        templateUrl: '<view>'
    })
    .state('items.List', {
        url: '/items/list',
        templateUrl: '<view>'
    });
}]);

<angular module>.factory('Items', ['$resource', function($resource){
    return $resource('/items');
}]);

现在这不起作用,因为状态网址不同。如果我使用/ items / create创建资源,将执行第一个url,如果使用/ items / list创建资源,则将执行第二个url。

我需要创建一个资源,它将引用状态提供程序中提供的两种状态。有可能吗?

请注意,我想在进行任何手动状态转移之前在页面加载时调用它们。

1 个答案:

答案 0 :(得分:0)

它很丑,但你可以创建资源url / items /:state然后在调用Items.query / get / post时传入一个state属性

Items.post({状态:&#34;创建&#34;});

Items.get({状态:&#34;列表&#34;});