Как я могу смоделировать $ parent для моих спецификаций?При использовании shallowMount с моим компонентом, я всегда получаю clientWidth / clientHeight неопределенного.Я уже пытался смоделировать $ parent как объект с $ el в качестве ключа и еще двумя вложенными ключами для clientWidth и clientHeight, но это не работает, как ожидалось.Я не могу понять, как правильно использовать parentComponent.
У меня есть один файловый компонент, как показано ниже:
<template>
<img :src="doSomething">
</template>
<script>
export default {
name: "Foobar",
data() {
return {
size: null
};
},
computed: {
doSomething() {
# here is some string concatenation etc.
# but not necessary for example
return this.size;
}
},
created() {
let parent = this.$parent.$el;
this.size = `size=${parent.clientWidth}x${parent.clientHeight}`;
}
};
</script>
создание приложения vue выглядит следующим образом:
import Vue from "vue";
import Foobar from "./Foobar";
const vueEl = "[data-vue-app='foobar']";
if (document.querySelector(vueEl)) {
new Vue({
el: vueEl,
components: {
"foo-bar": Foobar
}
});
}
и комбинация использования slim с моим компонентом выглядит следующим образом:
div data-vue-app="foobar"
foo-bar
Это моя тестовая установка:
import { shallowMount } from "@vue/test-utils";
import Foobar from "@/store/Foobar";
describe("Foobar.vue", () => {
let component;
beforeEach(() => {
component = shallowMount(Foobar, {});
});