当添加到'ui-sref'的链接时,UI路由器抛出错误为“无效状态引用”

时间:2016-11-18 11:20:14

标签: angularjs angular-ui-router

以下route

.state('user', {
                url:'/user/:userId',
                templateUrl : 'app/views/pages/user/user.html',
                controller  : 'userController as user',
                required    : true,
                resolve     : {
                    userData : function( $q, api, $stateParams ){

                        console.log('hi', $stateParams)

                        var differed = $q.defer();

                        api.getUsers().then(function( data ){
                            differed.resolve( data.data );
                        });

                        return differed.promise;

                    }
                }
            })

我正在使用我的一个html调用:

<li ng-repeat="user in users.usersData"><a ui-sref="user(userId:{user._id})">{{user.name}}</a></li>

但是得到错误:

angular.js:13920 Error: [$parse:syntax] 

https://docs.angularjs.org/error/$parse/syntax?p0=:&p1=is%20an%20unexpected%20token&p2=7&p3=userId:%7Buser._id%7D&p4=:%7Buser._id%7D

我的代码出了什么问题?有人帮我吗?

1 个答案:

答案 0 :(得分:3)

ui-sref

ui-sref="user(userId:{user._id})"

应该像

ui-sref="user({userId:user._id})"

我们传递的内容是对象,其属性名为userId,值来自user._id {userId:user._id}