簡體   English   中英

Vuejs 組件未向 laravel 注冊

[英]Vuejs component not registering with laravel

我知道這個問題被問了好幾次,但我找不到任何解決我的問題的方法。

我的 laravel 項目中有兩個 vue 組件。 第一個是 laravel 默認組件,名為“ExampleComponent.vue”,第二個是我自己的新組件,名為“multi.vue”。

我在 section.blade.php 文件中使用它們,如下所示:

@extends('layouts.app')

@section('content')
<example-component></example-component>

<multi></multi>

@endsection

但只有“示例組件”有效,對於“多”組件,它給了我以下錯誤:

未知的自定義元素: - 您是否正確注冊了組件? 對於遞歸組件,請確保提供“名稱”選項。

這是我的 app.js 代碼:

require('./bootstrap');

window.Vue = require('vue');

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

Vue.component('multi', require('./components/multi.vue').default);

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

這是我的組件代碼:

示例組件.vue:

<template>
    <div class="container">
        <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>
</template>

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

還有我的 multi.vue:

<template>
  <div>
      I am multi component!
  </div>
</template>

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

<style>

</style>

路線是:

Route::get('/section',function(){
    return view('section');
});

要解決這個問題,您需要做的就是運行“運行 npm 手表”。

運行該命令后,每當您更改代碼並保存時,它都會重新編譯您的 vue 代碼。

將其保存在單獨的終端中,然后在另一個終端中運行“php artisan serve”。

來自https://v2.vuejs.org/v2/style-guide/#Multi-word-component-names-essential

除了根 App 組件和 Vue 提供的內置組件(例如<transition><component> )外,組件名稱應始終為多字。

這可以防止與現有和未來的 HTML 元素發生沖突,因為所有 HTML 元素都是一個單詞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM