xiaokeqi / i-learned

1 stars 0 forks source link

如果你不希望组件的根元素继承特性,你可以在组件的选项中设置 inheritAttrs: false #31

Open xiaokeqi opened 4 years ago

xiaokeqi commented 4 years ago

有了 inheritAttrs: false 和 $attrs,你就可以手动决定这些特性会被赋予哪个元素。在撰写基础组件的时候是常会用到的:

Vue.component('base-input', {
  inheritAttrs: false,
  props: ['label', 'value'],
  template: `
    <label>
      {{ label }}
      <input
        v-bind="$attrs"
        v-bind:value="value"
        v-on:input="$emit('input', $event.target.value)"
      >
    </label>
  `
})

<base-input
  v-model="username"
  required
  placeholder="Enter your username"
></base-input>