ui-sref 参数选项 $state.href 未按预期工作
ui-sref params option with $state.href not working as expected
我有这样的状态定义:
$stateProvider.state('password', {
url: '/password',
templateUrl: 'password.html',
controller: 'PasswordController',
controllerAs: 'ctrl',
params: {
accountNumber: {
value: null,
squash: true
}
},
});
我需要用它的 href
来引用这个状态,而不是使用 ui-serif
指令,我如何在 href 中设置 params.accountNumber
?
这行不通:
$state.href('password', {accountNumber: $scope.accountNumber})
当我将此行 url: '/password',
更改为` url: '/password?accoutNumber' 并删除这部分时
params: {
accountNumber: {
value: null,
squash: true
}
},
$state.href
工作正常。
为了能够使用 $state.href
生成 URL 并传递参数...
- 此类参数必须是
url
定义的一部分
- 仅在
params: {}
中声明它会导致 href - 不包含它,不传递 它
有调整状态定义:
.state('password', {
url: '/password/:accountNumber',
templateUrl: 'password.html',
controller: 'PasswordController',
controllerAs: 'ctrl',
params: {
accountNumber: {
value: null,
squash: true
},
},
});
原创部分,与打字错误有关
$state.href()
调用似乎没问题...只是状态定义可能是错误的:
$stateProvider.state('password', {
//Url: '/password',
url: '/password',
...
url
设置区分大小写。参见 state.href doc here:
href(stateOrName, params, options)
我有这样的状态定义:
$stateProvider.state('password', {
url: '/password',
templateUrl: 'password.html',
controller: 'PasswordController',
controllerAs: 'ctrl',
params: {
accountNumber: {
value: null,
squash: true
}
},
});
我需要用它的 href
来引用这个状态,而不是使用 ui-serif
指令,我如何在 href 中设置 params.accountNumber
?
这行不通:
$state.href('password', {accountNumber: $scope.accountNumber})
当我将此行 url: '/password',
更改为` url: '/password?accoutNumber' 并删除这部分时
params: {
accountNumber: {
value: null,
squash: true
}
},
$state.href
工作正常。
为了能够使用 $state.href
生成 URL 并传递参数...
- 此类参数必须是
url
定义的一部分 - 仅在
params: {}
中声明它会导致 href - 不包含它,不传递 它
有调整状态定义:
.state('password', {
url: '/password/:accountNumber',
templateUrl: 'password.html',
controller: 'PasswordController',
controllerAs: 'ctrl',
params: {
accountNumber: {
value: null,
squash: true
},
},
});
原创部分,与打字错误有关
$state.href()
调用似乎没问题...只是状态定义可能是错误的:
$stateProvider.state('password', {
//Url: '/password',
url: '/password',
...
url
设置区分大小写。参见 state.href doc here:
href(stateOrName, params, options)