javascript - Laravel - 如何将 Vue 组件导入到另一个组件

标签 javascript html vue.js

我是 Vue.js 的新手。我想了解如何使用组件。我尝试将我的组件导入到另一个组件,但失败了。我正在使用 Laravel 5.8。以下是我收到的错误。

Module not found: Error: Can't resolve './components/modalAlert.vue

下面是我的代码。

app.js

Vue.component('form-to-do', require('./components/formToDo.vue').default);
Vue.component('modal-alert', require('./components/modalAlert.vue').default);

const app = new Vue({
    el: '#app',
});

formToDo.Vue

<template>
// form 

<modal-alert></modal-alert>
</template>

<script>
import modalAlert from './components/modalAlert.vue';

export default {
    components: {
       'modal-alert': modalAlert 
    },

    data() {
        return {
            setErrors: [],
            tasks: [],
            task: {
                id: '',
                name: '',
                completed: '',
                date_completed: ''
            },
            result: '',
            input: {
                name: ''
            }
        };
    },
}
</script>

modalAlert.vue

<template>
    <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            Test  
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            <button type="button" class="btn btn-primary">Save changes</button>
          </div>
        </div>
      </div>
    </div>
</template>

<script>
    export default {
        props: ['id'],
        data() {
            return {

            }
        },

        mounted() {
            console.log('Component mounted.')
        }
    }
</script>

最佳答案

您的组件可能位于同一文件夹中。在您的组件 formToDo.vue 中: 更改此:

import modalAlert from './components/modalAlert.vue';

对此:

import modalAlert from './modalAlert.vue';

为了解决另一个问题,正如 @ambianBeing 建议的那样,您的组件 formToDo.vue 必须具有根元素才能在其中添加子组件。

<template>
<div> <!-- this is the root -->
    <modal-alert></modal-alert>
</div>
</template>

关于javascript - Laravel - 如何将 Vue 组件导入到另一个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58460887/

相关文章:

javascript - 如何平滑移动相对定位的div填充其他div的间隙

html - 如何在 CSS 中选择这一特定行?

vue.js - VS code - 格式化 .vue 文件中的数组

javascript - 通过 src 标签在 html 页面中包含外部 javascript 文件

vue.js - 如何为静态资源文件配置 nuxt-i18n?

javascript - 如何在 Angular/Angular2/Angular4 应用程序中导入和使用 particles.js

JavaScript onmousemove 和 onclick

javascript - 在 HTML5 Canvas 上放置文本在浏览器之间不一致

javascript - 如何选择嵌套列表中的所有父 <li>

html - 显示 Flex 上的文本右对齐