<template> <div :class="curClassName" :style="curStyle"> <app-breadcrumb :navModel="navModel" :indexViewTag="indexViewTag"></app-breadcrumb> </div> </template> <script lang="ts"> import { Component, Inject, Prop, Vue } from "vue-property-decorator"; @Component({}) export default class AppIndexNavBreadcrumb extends Vue { /** * 名称 * * @type {string} * @memberof AppIndexNavBreadcrumb */ @Prop() public name!: string; /** * 布局模型详情 * * @type {*} * @memberof AppIndexNavBreadcrumb */ @Prop() public layoutModelDetails: any; /** * 首页视图标识 * * @type {*} * @memberof AppIndexNavBreadcrumb */ @Prop() public indexViewTag?: string; /** * 视图默认使用 * * @type {string} * @memberof ${srfclassname('${ctrl.codeName}')}Base */ @Inject({ from: 'navModel', default: 'tab' }) public navModel!: string; /** * 下标 * * @type {number} * @memberof AppIndexNavBreadcrumb */ @Prop() public index?: number; /** * 项名称 * * @type {*} * @memberof AppIndexNavBreadcrumb */ get itemName() { return (this.index || this.index === 0) ? `${this.name}_${this.index}` : this.name; } /** * 当前容器类名 * * @memberof AppIndexNavBreadcrumb */ get curClassName() { const layoutModel = this.layoutModelDetails[this.itemName]; if (layoutModel) { return `app-index-nav-breadcrumb ${this.itemName} ${layoutModel.sysCss}`; } } /** * 当前容器样式 * * @memberof AppIndexNavBreadcrumb */ get curStyle() { const layoutModel = this.layoutModelDetails[this.itemName]; if (layoutModel) { return layoutModel.getElementStyle(); } } } </script> <style lang='less'> @import './app-index-nav-breadcrumb.less'; </style>