我在应用程序中实现了面包屑,当我通过导航栏导航到页面时,它工作正常,在下面单击按钮时,我的页面上有按钮面包屑不起作用,我猜是因为我正在使用$ location.path,如何我可以在cnaRsk函数上调用state并使面包屑工作吗?
main.html
<button require-control-point="RISK_ADD;ALIGN_RISK_ADD"
class="btn btn-default pull-right " type="button" ng-click="cnaRsk()">Create
And Align New Risk</button>
main.js
$scope.cnaRsk = function () {
$location.path('/risk/cnaRsk/' + $scope.processDTO.processKey);
};
app.js
.state('app.editRiskProcess', {
url: '/risk/create/:processId',
templateUrl: 'views/risk/createNewRisk.html',
controller: 'RiskCtrl',
data: {
authenticate: true
},
breadcrumb: {
title: 'riskInProcess :processId',
path: ['app.home', 'app.editProcess', 'app.editRiskProcess']
}
})
由于您使用的是ui-router,因此永远不要使用$ location。使用$ state.go和ui-sref代替。
您可以通过添加ui-sref指令来更改HTML的状态:
<button require-control-point="RISK_ADD;ALIGN_RISK_ADD"
class="btn btn-default pull-right "
type="button"
ui-sref="app.editRiskProcess({processId:processDTO.processKey})">
Create And Align New Risk
</button>
或者,如果您想在控制器中触发状态更改,则可以使用:
$state.go("app.editRiskProcess",{processId:$scope.processDTO.processKey});
警告请记住,这些函数应该像这样阅读:
ui-sref="statename({stateParamName:myvar})"
$state.go("statename",{stateParamName:myvar});
希望能有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句