面包屑如何记住路径?

How breadcrumb can remember the path?

我在以下三种状态下实施了面包屑,用户可以从仪表板 select 一个将导航到 edit.process 的进程,然后用户还可以使用面包屑超链接从编辑进程返回仪表板。所以这是当用户处于 app.search 状态时他可以 select 将导航到 edit.process 状态的过程现在这里用户只能选择返回 Dashboard.But 我想当用户从 app.search 状态导航进程时实现逻辑 我想在 edit.process 状态上显示 app.search 面包屑超链接,以便用户可以返回他来自的地方...

app.js

.state('app.home', {
            url: '/',
            templateUrl: 'views/riskHomePage/riskAssesmentHomePage.html',
            controller: 'HomeCtrl',
            data: {
                authenticate: true
            },
            breadcrumb: {
              title: 'Dashboard',
              path: ['app.home']
          }
        })

   .state('app.editProcess', {
            url: '/process/:processId/:refresh?:from',
            templateUrl: 'views/process/createEditProcessContent.html',
            controller: 'ProcessCtrl',
            data: {
                authenticate: true
            },
            resolve: {
                existingProcess: function($http, $stateParams, $rootScope){
                    $rootScope.showLoader = true;
                   return $http.get('app/prcs/rest/process/'+ $stateParams.processId);
                }
            },
            breadcrumb: {
              title: 'Edit Process',
              path: ['app.home', 'app.editProcess']
          }
        })

.state('app.search', {
            url: '/viewSearchInv',
            templateUrl: 'views/viewAll/viewSearchInv.html',
            controller: 'ViewSearchInvCtrl',
            data: {
                authenticate: true
            },
            breadcrumb: {
              title: 'View Search PRC inventory',
              path: ['app.home','app.search']
            }
        })

您需要使用ncy Breadcrumb,这种方式不行。 这个link对你有帮助 How to use ncy-breadcrumb in child state of abstract parent

您可能想要创建面包屑服务,然后将其注入每个控制器。

这里有一个不错的教程http://milestone.topics.it/2014/03/angularjs-ui-router-and-breadcrumbs.html

我过去这样做的另一种方法是在 $rootScope 上保留面包屑数组。像这样实例化它。

angular.module('myApp', [])
.run(function($rootScope) {
    $rootScope.breadcrumbs = [];
 })

然后在每个控制器中,我将 link 返回到该状态的面包屑导航到面包屑阵列。通常我的面包屑对象有显示文本和 link/ui-router 状态引用。

.controller('myCtrl', function($scope, $rootScope) {
    $rootScope.breadcrumbs.push({ title: "First Breadcrumb", state: "stateName" })
})

然后使用 ng-repeat 显示面包屑,并使用 ng-click 函数处理任何面包屑的选择,将面包屑修剪到选定的面包屑并加载相应的状态