最基本封装
<template>
<label class="el-radio">
<span class="el-radio__input">
<span class="el-radio__inner"></span>
<input
type="radio"
:value="label"
v-model="model"
/>
</span>
<span class="el-radio__label">
<slot></slot>
<template v-if="!$slots.default">
{{ label }}
</template>
</span>
</label>
</template>
<script>
export default {
name: "ElRadio",
// 注意 value、checked、selected 是表单元素的初始值
props: {
label: {},
value: {},
},
computed: {
// 此处相当于 v-model 的语法糖
model: {
get() {
return this.value;
},
set(val) {
this.$emit("input", val);
},
},
},
};
</script>
<style lang="scss" scoped>
</style>
computed 中 get 与 set 代表什么意思
以下这段代码是什么意思
相当于是 v-model 的语法糖
this.$emit('input', val);
Object.freeze