将 VueJs 模态组件添加到 Laravel 模板
Posted
技术标签:
【中文标题】将 VueJs 模态组件添加到 Laravel 模板【英文标题】:Add VueJs modal component to Laravel template 【发布时间】:2019-05-23 19:13:43 【问题描述】:关于简单情况的问题,我想将 vue modal component 添加到默认的 Laravel 项目中。 当我以这种方式注册时:
Vue.component('modal',
template: '#modal-template'
)
new Vue(
el: '#app',
data:
showModal: false
)
并像这样命名组件:
ModalComponent.vue
浏览器给我下一个错误。 Github repository中的所有详细信息
顺便说一句,用 jQuery 从引导程序中添加模态窗口可能会更好,否则会很乱?
【问题讨论】:
你试过我的答案了吗 你的回答真棒,但我得到了错误i.imgur.com/Glhtf6x.png 在简单的谷歌之后,我添加了参数默认值,它有帮助。现在是这样的:Vue.component('modal', require('./components/ModalComponent.vue').default);非常感谢 抱歉,由于我错过了在组件文件中添加script
部分和 export default
在其中,我通过添加它来编辑我的答案,你不需要 .default
太棒了,这个错误帮助我更好地理解 Vue
【参考方案1】:
你应该有:
Vue.component('modal', require('./components/ModalComponent.vue'));
在您的ModalComponent.vue
文件中:
<template>
<transition name="modal">
<div class="modal-mask">
<div class="modal-wrapper">
<div class="modal-container">
<div class="modal-header">
<slot name="header">
default header
</slot>
</div>
<div class="modal-body">
<slot name="body">
default body
</slot>
</div>
<div class="modal-footer">
<slot name="footer">
default footer
<button class="modal-default-button" @click="$emit('close')">
OK
</button>
</slot>
</div>
</div>
</div>
</div>
</transition>
</template>
<script>
export default
</script>
view.blade.php
<div id="app">
<button id="show-modal" @click="showModal = true">Show Modal</button>
<!-- use the modal component, pass in the prop -->
<modal v-if="showModal" @close="showModal = false">
<!--
you can use custom content here to overwrite
default content
-->
<h3 slot="header">custom header</h3>
</modal>
</div>
【讨论】:
以上是关于将 VueJs 模态组件添加到 Laravel 模板的主要内容,如果未能解决你的问题,请参考以下文章
将 Vuetify 添加到我的 laravel/Vue 应用程序会破坏一些 laravel 组件 css
将 VueJS 添加到 Laravel 但继续使用 Laravel 的路由器等