一、先自定义一个指令
angular.module('app')
.directive('breadcrumbs', breadcrumbs) // 面包屑
function breadcrumbs() {
return {
restrict: 'AE',
replace: true,
scope: {
links: '='
},
templateUrl:'template/breadcrumbs.html',
link: function(scope, ele, attr) {
console.log(scope.links);
scope.linksList = scope.links;
}
};
}
二、指令模板HTML
<div class="breadcrumbs"> <ul> <li ng-repeat="item in linksList['data']"><a ui-sref="{{ item.url }}" ng-bind="item.name"></a><span>></span></li> <li><em ng-bind="linksList['current']"></em></li> </ul> </div>
三、在应用的页面HTML
<breadcrumbs links="vm.links"></breadcrumbs>
是多少
四、子页面的controller
(function() { 'use strict'; angular .module('app') .controller('ActivityController', ActivityController); ActivityController.$inject = ['$scope', '$stateParams', 'dataService', 'toolService']; function ActivityController($scope, $stateParams, dataService, toolService) { var vm = this; vm.init = init; // 初始化函数 // 调用初始化 vm.init(); /* * 初始化页面数据 */ function init() { // 面包屑链接集定义 vm.links = { current: '活动列表', data: [ { name: '首页', url: 'home' //路由配置 } ] }; })();
五、路由配置
(function(){ 'use strict'; angular .module('app') .config(routeConfig); function routeConfig($stateProvider, $urlRouterProvider, $locationProvider) { // 删除url感叹号 $locationProvider.hashPrefix(''); //配置 $stateProvider .state('home', { url: '/home', views: { '': { templateUrl: 'template/home.html', controller: 'HomeController', controllerAs: 'vm' }, } }) $urlRouterProvider.otherwise('/home'); } })();