Uncaught TypeError: Невозможно прочитать свойство 'firstname' из undefined.при загрузке компонента, который имеет внутренний компонент - PullRequest
0 голосов
/ 07 декабря 2018

create.vue

<template>
  <div class="content">
    <base-input type="text" id="firstname" v-model="firstname"/>
  </div>
</template>

<script> 
import BaseInput from 'BaseInput.vue'
export default {
    data () {
        return {
            firstname: ''
        }   
    }
}   
</script>

create.spec.js

import { shallowMount, createLocalVue } from '@vue/test-utils'
import Create from '/Create.vue'
import VueI18n from 'vue-i18n'

const wrapper = shallowMount(Create)
const vm = wrapper.vm
console.log(vm)

Как видите, при загрузке шаблона с помощьюмелкая гора.выдает ошибку,

Uncaught TypeError: Невозможно прочитать свойство 'firstname' undefined в веб-пакете: ///node_modules/@vue/test-utils/dist/vue-test-utils.js:5652: 0 <- index.6fc62f9fc7f0f4a43161.js: 9693 </p>

1 Ответ

0 голосов
/ 07 декабря 2018

Вам необходимо добавить ваш BaseInput компонент в ваш экспорт по умолчанию.Теперь вы не знаете, что такое BaseInput ( info , если вы используете, например, Babel или Webpack).Я также изменил строку данных, потому что после данных и функции должен быть : после () ( пример ).Если вы делаете это так, это должно работать:

<script> 
import BaseInput from 'BaseInput.vue'
export default {
    components: {
       BaseInput 
    }
    data: function() {
        return {
            firstname: ''
        }   
    }
}   
</script>
...