如何用params做$ state.go()?

ott*_*der 5 javascript routing angularjs angularjs-routing angular-ui-router

我已经完全初始化了$ stateProvider,我正在使用ui-sref来处理所有这些状态.效果很好.用户按下按钮,然后$ stateProvider进入编辑页面.

在这个页面上,我有一个$ http请求的表单:

 this.pushData = function (data) {
        $http.post('/data/' + $stateParams.dataId + '/otherdata', JSON.stringify({
            id: otherdata.id, 
            name: otherdata.name
        }), configAuth).then(
            function success(response) {
                var addedData = response.data;
                $.notify({message: addedData.name + " has been added"},{type:'success'});

                $state.go('roleInfo({roleId: $stateParams.roleId})');
            },
            function error(data) {
                console.log(data);
                $.notify({message: data.data.message},{type:'danger'});
            }
        );

    }
Run Code Online (Sandbox Code Playgroud)

如果一切正常,我想重定向到其他视图.但是这个:

$ state.go('roleInfo({roleId:$ stateParams.roleId})');

不起作用.我怎么能用params做$ state.go?

Pan*_*kar 5

您尝试使用ui-sref指令的方式,在使用$state.go方法调用它时,您应该传递第一个参数stateName,然后以Object格式传递params .

$state.go('roleInfo', {roleId: $stateParams.roleId});
Run Code Online (Sandbox Code Playgroud)