Попытка показать модальное окно со следующим кодом:
import VModal from 'vue-js-modal';
Vue.use(VModal);
По шаблону:
<modal name = "hello-world">
hello, world!
</modal>
Часть Vue:
myMethod() {
this.$modal.show('hello-world');
}
При попытке вызвать myMethod () я получаю сообщение об ошибке «Невозможно прочитать свойство show of undefined». Любые идеи?





это работает для меня в простой среде vue-cli и он работает нормально, проверено
main.js
import App from "./App.vue";
import Vue from "vue";
import VModal from "vue-js-modal";
Vue.use(VModal);
Vue.config.productionTip = false;
new Vue({
render: h => h(App)
}).$mount("#app");
App.vue
<template>
<div id = "app">
<h3>Hello world test</h3>
<modal name = "hello-world">
hello, world!
</modal>
<button @click = "showModal">show modal</button>
</div>
</template>
<script>
export default {
methods: {
showModal() {
this.$modal.show("hello-world");
}
}
};
</script>
<style lang = "scss">
</style>
вам нужно проверить
this.$modal, этот объект работает не так, как ожидалось. где вы зарегистрировали этотvue-js-modal