2017-12-18 18:25:16 +08:00
|
|
|
<template>
|
|
|
|
<div :class="wrapClasses"><slot></slot></div>
|
2017-12-18 18:36:50 +08:00
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
const prefixCls = 'ivu-layout';
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'Layout',
|
|
|
|
data () {
|
|
|
|
return {
|
|
|
|
hasSider: false
|
|
|
|
};
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
wrapClasses () {
|
|
|
|
return [
|
|
|
|
`${prefixCls}`,
|
|
|
|
{
|
|
|
|
[`${prefixCls}-has-sider`]: this.hasSider
|
|
|
|
}
|
|
|
|
];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
findSider () {
|
|
|
|
return this.$children.some(child => {
|
2017-12-18 18:44:22 +08:00
|
|
|
return child.$options._componentTag === 'Sider';
|
2017-12-18 18:36:50 +08:00
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
mounted () {
|
|
|
|
this.hasSider = this.findSider();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|