vueエラー:is not defined on the instance but referenced during render.

1369 ワード

Vueカスタムイベントv-modelを練習します.コードは以下の通りです.



import Vue from 'vue'
export default{
  data() {
    return {
      checked: false
    }
  }
}
Vue.component('base-checkbox', {
  model: {
    prop: 'checked',
    event: 'change'
  },
  props: {
    checked: Boolean
  },
  template: `
    <input
      type="checkbox"
      v-bind:checked="checked"
      v-on:change="$emit('change', $event.target.checked)"
    >
  `
})


 
エラーメッセージ:the data option,or for class-based components,by initializing the property.See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.
修正後のコード:



import Vue from 'vue'
export default{
  data () {
    return {
      checked: false,
      lovingVue: ''
    }
  }
}
Vue.component('base-checkbox', {
  model: {
    prop: 'checked',
    event: 'change'
  },
  props: {
    checked: Boolean
  },
  template: `
    <input
      type="checkbox"
      v-bind:checked="checked"
      v-on:change="$emit('change', $event.target.checked)"
    >
  `
})