新组件未显示

时间:2019-05-04 12:45:43

标签: laravel vuejs2 vue-component laravel-5.7

vue的新手,将其安装在Laravel中后,我制作了一个新组件,但未在浏览器中显示,浏览器在开发人员工具中发出警告,在开发人员工具>控制台中显示:

  app.js:37960 [Vue warn]: Failed to mount component: 
  template or render function not defined.
  found in

---> <TaskForm>
<Root>
warn @ app.js:37960
app.js:46384 You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html

代码中是否存在任何问题,或者是否有解决此问题的解决方案?

组件:

   <template>

    <div class="col-md-8">
      <div class="card card-default">
         <div class="card-header">Task Form</div>

         <div class="card-body">
            <form action="./api/task" method="POST">
              <div class="form-group">
                <input type="text" name="title" placeholder="Task title" class="form-control">
              </div>
              <div class="form-group">
               <input type="submit" value="Add Task" class="btn btn-info">
              </div>
            </form>
        </div>
    </div>
 </div>

 </template>

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

app.js:

  require('./bootstrap');

 window.Vue = require('vue');

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

  Vue.component("task-form", require('./components/TaskForm.vue'));

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

这是app.blade.php:app.blade.php:

  <!DOCTYPE html>
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
     <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- CSRF Token -->
     <meta name="csrf-token" content="{{ csrf_token() }}">

<title>{{ config('app.name', 'Laravel') }}</title>

<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>

<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">

 <!-- Styles -->
 <link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
<div id="app">
    <nav class="navbar navbar-expand-md navbar-light navbar-laravel">
        <div class="container">
            <a class="navbar-brand" href="{{ url('/') }}">
                {{ config('app.name', 'Laravel') }}
            </a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
                <span class="navbar-toggler-icon"></span>
            </button>

            <div class="collapse navbar-collapse" id="navbarSupportedContent">
                <!-- Left Side Of Navbar -->
                <ul class="navbar-nav mr-auto">

                </ul>

                <!-- Right Side Of Navbar -->
                <ul class="navbar-nav ml-auto">
                    <!-- Authentication Links -->
                    @guest
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
                        </li>
                        @if (Route::has('register'))
                            <li class="nav-item">
                                <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
                            </li>
                        @endif
                    @else
                        <li class="nav-item dropdown">
                            <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                                {{ Auth::user()->name }} <span class="caret"></span>
                            </a>

                            <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                                <a class="dropdown-item" href="{{ route('logout') }}"
                                   onclick="event.preventDefault();
                                                 document.getElementById('logout-form').submit();">
                                    {{ __('Logout') }}
                                </a>

                                <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                                    @csrf
                                </form>
                            </div>
                        </li>
                    @endguest
                </ul>
            </div>
        </div>
    </nav>

    <main class="py-4">
        @yield('content')
    </main>
</div>
</body>
</html>

0 个答案:

没有答案