如何刷新使用动词的解析器中的数据?

时间:2014-06-07 06:48:26

标签: javascript angularjs

如何刷新connections解析器?用户跟随另一个用户后,我需要刷新连接列表。

.controller('UserShowCtrl', function ($scope, connections) {
...

    connections.??()
        .then(function(connections){
            $scope.connections = connections[userId];
        });
...
});

$routeProvider
    .when('/u/:username/:id', {
        templateUrl: 'partials/users/show',
        controller: 'UserShowCtrl',
        resolve: {
            connections: ['$route', 'User', function($route, User){
                return User.connections({ id: $route.current.params.id}).$promise;
            }]
        }
    })

这是资源:

.factory('User', function ($resource) {
    return $resource('/api/users/:id/:verb', {
        id: '@id'
    }, { //parameters default
        update: {
            method: 'PUT',
            params: {}
        },
        get: {
            method: 'GET',
            params: {
                id: 'me'
            }
        },
        connections: {
            method: 'GET',
            params: {
                verb: 'connections'
            }
        }
    });
});

1 个答案:

答案 0 :(得分:1)

注入控制器的connections应该已经解决,所以你应该能够做到

$scope.connections = connections[userId];

更新:如果要在特定时间刷新,则必须在User服务上使用该方法,从而将该服务注入控制器。喜欢这个

User.connections({ id: $route.current.params.id}).$promise .then(function(connections) { $scope.connections = connections[userId]; });

构造函数中传递的connections依赖项只是一个简单的数组。