如何在 ng-click 上使用面包屑?

how to use breadcrumbs on ng-click?

我在我的应用程序中实现了面包屑,当我通过导航栏导航到页面时它工作正常,下面我的页面上有按钮当我点击那个按钮时面包屑不起作用我猜是因为我正在使用 $ location.path,如何在 cnaRsk 函数上调用状态并使面包屑导航起作用?

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});

希望对您有所帮助。