Skip to content

Commit f11eaf1

Browse files
committed
使用 const {size, ...rest} = context.attrs 将属性分开
1 parent 42782d1 commit f11eaf1

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

src/components/ButtonDemo.vue

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@
22
<div>
33
<h1>Button 示例</h1>
44
<div>
5-
<Button>你好</Button>
5+
<Button @click="onClick">你好</Button>
66
</div>
77
</div>
88
</template>
99
<script lang="ts">
1010
import Button from '../lib/Button.vue'
1111
export default {
12-
components:{ Button }
12+
components:{ Button },
13+
setup(){
14+
const onClick = ()=>{
15+
console.log('hi');
16+
}
17+
18+
return { onClick }
19+
}
1320
}
1421
</script>

src/lib/Button.vue

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
<template>
2-
<button>
3-
<slot></slot>
4-
</button>
2+
<div :size="size">
3+
<button v-bind="rest">
4+
<slot></slot>
5+
</button>
6+
</div>
57
</template>
68

79
<script lang="ts">
810
export default {
9-
name: "Button"
10-
}
11+
inheritAttrs: false,
12+
setup(props, context) {
13+
// ES6 剩余操作符
14+
const {size, ...rest} = context.attrs;
15+
return {size, rest};
16+
}
17+
};
1118
</script>
1219

1320
<style lang="scss" scoped>

0 commit comments

Comments
 (0)