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

  

时间: 2024-10-11 06:39:03

Angular JS 面包屑的相关文章

WordPress主题开发:制作面包屑导航

所谓面包屑,就是类似这种:首页 > 公司简介 > 发展历史 展示网站树型结构,并让网站访问者随时知道自己所处的位置,方便返回上几级. 将下面的代码添加到主题的 functions.php : //面包屑功能 function the_breadcrumb() { echo '<ul class="breadcrumb">'; if (!is_home()) { echo '<li><a href="'; echo get_option

bootstrap3 - 面包屑式导航

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title>面包屑式导航</title>     <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1"/>     <

面包屑breadcrumbs跳转问题

这个问题其实在刚刚接手项目的时候就纠结过(因为刚刚接触前端开发...),后来测试对这个提了Bug,这才花精力好好看了下. 就是一个类似于下面的这样的布局: 准确的说,面包屑其实就在top和main之间,menu里的菜单控制右侧的main的页面(所以main页面是iframe加载的).现在要做的是在添加页面,点击面包屑中的上一个链接跳到对应的父页面去,其实是很简单的,就是父页面的js方法可以在其子页面中调用:就是调用在menu所在的页面里的js方法.

SEO之面包屑导航

面包屑导航作为网站优化中经典的一个优化方案,尤其一定的作用,如电子铭牌网站的建设,采用面包屑导航,主要作用是: 1.为了让用户在浏览网站时能够明确的浏览页面位置,同时可以方便用户返回上一级菜单,符合用户体验; 2.从网站优化的角度来说,符合用户体验的设计思路本身就有利于网站优化,同时有利于提升某些关键词的排名. 面包屑导航(BreadcrumbNavigation)这个概念来自童话故事Hansel和Gretel,当Hansel和Gretel穿过森林时,不小心迷路了,但是他们发现在沿途走过的地方都

vue 使用localstorage实现面包屑

mutation.js代码: changeRoute(state, val) { let routeList = state.routeList; let isFind = false; let findeIdex = 0; //菜单栏和下拉的二级菜单 if (val['type'] == 'header' || val['type'] == 'secondHeader') { routeList.length = 0; //顶级菜单清除缓存 localStorage.removeItem("r

精通 Angular JS 第一天——Angular 之禅

简介 Angular JS是采用JavaScript语言编写的客户端MVC框架,它为业界带了重大的变化,包括对模板化的创新实现,以及数据的双向绑定,这些特性使得它强大而易用.它可以用来帮助开发者编写单页面应用,尤其适合编写有大量CRUD操作的,具有Ajax风格的富客户端应用.大多数开发者认为,与其它框架相比,AngularJS明显缩减了项目所需的代码量. 2012年6月,Angular JS正式发布1.0版,在各种客户端MVC框架中,属于后起之秀.AngularJS主页(http://www.a

CSS实现面包屑

面包屑在用户引导方面起到很大作用,可以清晰的为用户指示出其当前所在位置,以及访问到此的整个路径如何,另一方面,面包屑也可以将较长的表单分割成一步一步完成且互动性较强的任务式表单填写.可见其在网页中的重要性.但样式美观的面包屑包含一些形状,这在CSS3以前得靠图片等其他方式实现,现在有了CSS3之后,我们可以很方便的用CSS绘制出常见的面包屑. 下面的案例中涉及了三个内容,所以将其记录于此: 1. display:inline-block的间距文题(是由于我们格式化代码时换行导致) 2. bord

青出于蓝而胜于蓝 — Vue.js对Angular.js的那些进步

Angular.js与Vue.js是非常有渊源的两款前端框架,据Vue.js的官方网站描述,在其早期开发时,灵感来源就是Angular.js.而在很多方面,Vue.js也正像是中国的那句古话,"青出于蓝而胜于蓝".今天,K就从下面几个方面来跟大家一起探讨一下,Vue.js到底在哪些方面更"胜于蓝". (一)简单的操作 这是K看来Vue.js最杰出的的方法,Vue.js致力于视图层的展现,这使它在与其他项目进行整合的时候会变得非常easy,这也使它更容易"嵌

Angular JS从入门基础 mvc三层架构 常用指令

Angular JS从入门基础  mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVC.模块化.自动化双向数据绑定.语义化标签.依赖注入等等. 1.常用指令 AngularJS 通过指令扩展了HTML,且通过表达式绑定数据到 HTML.下面我们看一下AngularJS中的常用指令. (1).基本概念 指令:AngularJS中,通过扩展HTML的属性提供功能.所以,ng-