1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| <template>
| <div :class="wrapClasses"><slot></slot></div>
| </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 => {
| return child.$options.name === 'Sider';
| });
| }
| },
| mounted () {
| this.hasSider = this.findSider();
| }
| };
| </script>
|
|