Angular JS 面包屑

Posted saygoodnight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Angular JS 面包屑相关的知识,希望对你有一定的参考价值。

一、先自定义一个指令

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

  

 

以上是关于Angular JS 面包屑的主要内容,如果未能解决你的问题,请参考以下文章

折叠在导航栏面包屑按钮的 ng-bootstrap 和 Angular 4 应用程序中不起作用

angular5项目积累总结breadcrumb面包屑组件

Angular 5 的原始烤面包机?

json 可视代码工作室Angular with Firebase片段

typescript Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming/angular-2/

typescript Angular最终版本的Angular 2测试片段。代码库https://developers.livechatinc.com/blog/category/programming