javascript - angular.js 路由和 stateparams

标签 javascript angularjs angular-ui-router meanjs

我正在尝试修改meanjs的标准用户模块。我添加了一条简单的路线:

state('users', {
            url: '/users/:username',
            templateUrl: 'modules/users/views/view-profile.client.view.html'
        });

在我看来:

data-ng-controller="ViewProfileController" data-ng-init="findUser()"

我还将 $stateParams 注入(inject)到我的 Controller 中。因此,在我的 ViewProfileController - findUser 函数中,当我编写以下内容时:

console.log($stateParams.username)

我希望获得用户名参数。但它返回未定义

当我这样设置路线时,

state('users', {
            url: '/users/:username',
            template: function ($stateParams){
                return $stateParams.username;
            }
        });

它返回用户名。我不知道出了什么问题或遗漏了什么。有什么想法吗?

编辑:这是我的完整 Controller 代码

'use strict';

angular.module('users').controller('ViewProfileController', ['$scope', '$http', '$stateParams', '$location', 'Users', 'Authentication', 
function($scope, $http, $location, Users, Authentication, $stateParams) {
    $scope.user = Authentication.user;


    $scope.findUser = function () {
        console.log($stateParams);
        ...
    };
}
]);

最佳答案

您的依赖项不匹配 - 依赖项列表需要以相同的顺序匹配 Controller 函数中的参数:

'use strict'; 
angular.module('users')
.controller('ViewProfileController', ['$scope', '$http', '$stateParams', '$location', 'Users', 'Authentication', 
  function($scope, $http, $stateParams, $location, Users, Authentication) { 
    $scope.user = Authentication.user; 
    $scope.findUser = function () { 
      console.log($stateParams); 
    }; 
  }
]);

关于javascript - angular.js 路由和 stateparams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28664473/

相关文章:

javascript - 子组件之间的通信 - 触发和更改

javascript - 如何使用过滤器以 Angular 显示日期

angularjs - 在某个时间点监控事件的数据库连接

javascript - 如何将我的数据保存在本地存储中?

javascript - 使用 Bootstrap 进行同位素过滤

c# - 根据剑道网格中的 valueFormat 列更改数字格式

javascript - Angular $state.go {重新加载 : true} shouldn't reinitialize the abstract parent controller

angularjs - Angular UI Router : inherit only URLs (using parent. 子状态)没有嵌套 View

angularjs - 可能未处理的拒绝 : {}

javascript - submit() 函数有回调吗?