Angular - $ stateparams总是未定义的

时间:2016-02-08 19:22:57

标签: javascript angularjs

我试图使用stateParams作为ng-repeat的过滤器。我试图创建用户个人资料页面,当有人访问网址时

http://localhost:3000/users/johnexample

他们会看到一个johnexample" Savings"的列表。如果我现在访问网址,我可以看到个人资料页面很好,但是参数不会初始化。

我尝试使用

设置控制器变量以进行过滤
$scope.usernamevalue = $stateParams.username;

我访问网址时总是未定义

客户端控制器

angular.module('savings').controller('SavingsController', ['$scope', '$http', '$stateParams','$state' , 'Users',
    function($scope, $stateParams, $window, $state, $http, Authentication, Users) {

    $scope.usernamevalue = $stateParams.username;

]);

路线

app.route('/api/savings/of/:username')
        .get(savings.listOf);

服务器控制器

exports.listOf = function(req, res) { Saving.find( { user: req.params.userid }).sort('-created').exec(function(err, posts) {

    if (err) {
        return res.status(400).send({
            message: errorHandler.getErrorMessage(err)
        });
    } else {
        console.log(req.params.userid);
        res.jsonp(posts);
    }
});
};

还有什么我想念的吗?

由于

1 个答案:

答案 0 :(得分:3)

当您在Angular中注入依赖项时,函数参数的顺序需要与数组中字符串的顺序相匹配。因为您正在注入名为$http的{​​{1}}服务,因此错误。