0

Initially, the vue componenets were working and loading, however all of a sudden I started to get this error [Vue warn]: Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the "name" option. I havent changed any of the code and I get this error on new files also.

<template>
<v-app>
    <div class="example-component">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">Example Component</div>

                    <div class="card-body">
                        I'm an example component.
                    </div>
                </div>
            </div>
        </div>
    </div>
</v-app>
</template>

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

@extends('layouts.app')

@section('content')
<div id="app">
<ExampleComponent />
</div>
@endsection

/**
 * First we will load all of this project's JavaScript dependencies which
 * includes Vue and other libraries. It is a great starting point when
 * building robust, powerful web applications using Vue and Laravel.
 */

require('./bootstrap');

window.Vue = require('vue');

/**
 * The following block of code may be used to automatically register your
 * Vue components. It will recursively scan this directory for the Vue
 * components and automatically register them with their "basename".
 *
 * Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
 */

// const files = require.context('./', true, /\.vue$/i)
// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))

Vue.component('example-component', require('./components/ExampleComponent.vue').default);

/**
 * Next, we will create a fresh Vue application instance and attach it to
 * the page. Then, you may begin adding components to this application
 * or customize the JavaScript scaffolding to fit your unique needs.
 */

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

This is my vue file, home.blade.php file that I want to use my vue component in, and my app.js file

3 Answers 3

2

The name of the component is 'example-component' so you should change

@section('content')
<div id="app">
<ExampleComponent />
</div>
@endsection

to

@section('content')
<div id="app">
<example-component />
</div>
@endsection
Sign up to request clarification or add additional context in comments.

Comments

0
  1. Check your Component name as Imported

  2. Example: Vue.component('example-component', require('./components/ExampleComponent.vue').default);

  3. In this Import component Name is example-component Sometimes you need to run command npm update vue-loader

Comments

0

For a quick solution you can wrap it with <div>

<template> <div> ... </div> </template>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.