/** 菜单 处理 **/ (function(vc){ var vm = new Vue({ el:'#breadcrumb', data:{ breadCrumbs:[] }, mounted:function(){ this._freshBreadCrumbByUrl(); }, methods:{ _freshBreadCrumbByUrl:function(){ var _tmpMenus = vc.getMenus(); var _url = vc.getUrl(); /** 正常情况下是走不到这里的, 因为系统登录时,就已经加载菜单信息缓存到本地了 **/ if(_tmpMenus == null || _tmpMenus == undefined){ return ; } for(var menuIndex =0 ; menuIndex < _tmpMenus.length;menuIndex ++){ //两层结构的情况 if(_tmpMenus[menuIndex].hasOwnProperty('childs')){ var _childs = _tmpMenus[menuIndex].childs; for(var _childIndex = 0; _childIndex < _childs.length; _childIndex ++){ if(this._getRealUrl(_childs[_childIndex].href) == _url){ var _tmpBreadCrumbInf = { parentPageName: "", pageName: _tmpMenus[menuIndex].name }; this.breadCrumbs.push(_tmpBreadCrumbInf); _tmpBreadCrumbInf = { parentPageName: _tmpMenus[menuIndex].name, pageName: _childs[_childIndex].name }; this.breadCrumbs.push(_tmpBreadCrumbInf); break; } } }else{ if(this._getRealUrl(_tmpMenus[menuIndex].href) == url){ var _tmpBreadCrumbInf = { parentPageName: "首页", pageName: _tmpMenus[menuIndex].name }; this.breadCrumbs.push(_tmpBreadCrumbInf); } } } }, _getRealUrl:function(_url){ if(_url.indexOf('?') != -1){ return _url.substring(0, _url.indexOf('?')); } return _url; } }, }); })(window.vc)