How to create a component and add it to Blade in Laravel?
Go to you app.js file “resources\js\app.js” and add this:
Vue.component('view-dashboard-component', () => import('./components/Admin/Navbar/DashboardComponent.vue'));
Make sure you create 2 vue folders called “Admin/Navbar/” inside the components vue folder in “resources\js\components”
In your vue file add this:
<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>
Just above this:
const app = new Vue({ el: '#app', });
Now create a Laravel view blade file, and add this in it:
resources\views\admin\dashboard\index.blade.php
@extends('layouts.app') @section('content') <view-dashboard-component></view-dashboard-component> @endsection
To get to this file, create a route in your “routes\web.php” and add this:
Route::get('/admin/dashboard', 'Admin\[email protected]');
In your controller make sure you have this:
public function index() { return view('admin.dashboard.index'); }
Now type your domain as:
www.mydomain.com/admin/dashboard
and you should see your component
Enjoy!