VueJS failing to display template content

After beginning the process of converting my Laravel 8 project to VueJS, I encountered an issue where the template content was not rendering properly. I followed these commands to incorporate the basic structure of Vue:

php artisan ui vue && npm install

In my app.js file:

require('./bootstrap');

window.Vue = require('vue').default;

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

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

And in my webpack.mix.js file:

const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js')
    .sass('resources/sass/app.scss', 'public/css');

The main view looks like this:

<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body id="app">
    <example-component></example-component>

    <script type="text/javascript" src="{{ asset('js/app.js') }}"></script>
</body>
</html>

Although the Npm build is successful without any errors, unfortunately, the templates' content is not visible on the frontend. All that can be seen is the Vue tag itself, as shown here: https://i.sstatic.net/SlxrG.png

Any help or advice would be greatly appreciated. Thank you!

Answer №1

To avoid mounting the root component in the body element, you should structure your code like this:

<body >
   <div id="app">
    <example-component></example-component>
  </div>
    <script type="text/javascript" src="{{ asset('js/app.js') }}"></script>
</body>

Also, remove default from

window.Vue = require('vue').default;
:

require('./bootstrap');

window.Vue = require('vue');

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

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

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Sending Angular base64 image data to the server

I am encountering an issue while attempting to upload a base64 image from Angular to ExpressJS. The image is being created using html2canvas to generate the base64 representation. When I try to upload the imageData in its current format, I receive an error ...

Is there a way to verify the identity of two fields using an external script such as "signup.js"?

My current project involves working with Electron, and it consists of three essential files. The first file is index.html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="styles ...

The latest value has replaced the state's previous value

In my current function, I am updating an array stored in state based on the status of 9 tables. Each table calls this function to check its status, and if true, it is added to the array. const [projectSpaceTypeWarning, setProjectSpaceTypeWarning] = useSta ...

AngularJS Datepicker with parentheses in the Controller.js

I recently started working with angularJS in Brackets and I am attempting to implement a datepicker from https://codepen.io/anon/pen/ZvVxqg However, when I paste the JS file into my controller.js in Brackets, an error occurs. Below are the code snippets ...

Retrieve the innerHtml value of an asp.net Label using C# programmatically

I have a JavaScript function that successfully retrieves the cursor position value. I am assigning this value to an ASP.NET label's innerHTML property. How can I access this innerHTML property when a treeview_selectednodechange event occurs in my prog ...

Guide to iterating through a queue of promises (sequentially handling asynchronous messages)

Currently, I am working on processing a queue of promises (which are representations of messages) in a specific order and using AngularJS for the task. Just to give you an idea, let's say that I have a method called connect() which returns a promise ...

Removing the final element within a nested array: a step-by-step guide

let originalArray=[ [ "Test1", "4", "160496" ], [ "Test2", "6", "38355" ], [ "Test3", "1", "1221781" ], [ " ...

Unprocessed Promise Rejection Alert: The function res.status is not recognized as a valid function (NEXT JS)

When I console.log(response), I see the result in the terminal. However, when I use res.status(200).json(response), I encounter an error in my Next.js project: Not Found in the browser. router.get("/api/backendData", async (req, res) => { dbConne ...

What is the process for invoking JSON RPC in ODOO?

odoo.define('custom_appointment_module.appointment', function(require) { "use strict"; var ajax = require('web.ajax'); var core = require('web.core'); $(document).ready(function() { $(' ...

Enhance the original array of a recursive treeview in VueJS

After going through this tutorial, I decided to create my own tree view using recursive components in Vue.js. The structure of the input array is as follows: let tree = { label: 'root', nodes: [ { label: 'item1', nod ...

There was a problem with the ajax request

Attempting to make an ajax request in my SpringMVC project has been challenging. $.ajax({ contentType : 'application/json; charset=utf-8', type : 'get', url : 'order/get/'+i, dataType : 'json', ...

Allow only specific HTML tags using regular expressions

I'm currently working on a regex pattern to whitelist specific HTML tags. /<(\/)?(code|em|ul)(\/)?>$/ However, there are some scenarios where this regex is not working as intended: <em style="padding: 10px"> To address this i ...

Switch the process to prioritize organization over functionality. Kindly aid me in this

I'm having trouble with my DB query. When I use the sortby company option, it only shows 18,000 records out of a total of 48,000 records. However, the sortby status, contact, and city options are working fine. Any assistance would be gr ...

I am looking to retrieve the values entered in a textbox from an HTML document and then post them using a JSON file in Node.js when the submit button is

Here is the JavaScript code I have written: $(document).ready(function(){ $('form').on('submit', function(){ var email = $("form input[type=text][name=emails]").val(); var todo = {email: email.val(), ...

My component is displaying a warning message that advises to provide a unique "key" prop for each child in a list during rendering

I need help resolving a warning in my react app: Warning: Each child in a list should have a unique "key" prop. Check the render method of `SettingRadioButtonGroup`. See https://reactjs.org/link/warning-keys for more information. at div ...

Regular expression for ng-pattern to validate file paths

I have created a regex for file paths with specific conditions: It must match the regex ^(\\\\[^\\]+\\[^\\]+|https?://[^/]+), which means it can be a network path like \server\share (optionally ...

Using a .vue file in an HTML document: A step-by-step guide

After creating a hello.vue file, I am unsure how to actually use it in an HTML file. I have already set up webpack, <template> <p>Hello</p> <p>{{message}}</p> </template> <script> module.exports = { data: ...

How can you incorporate AJAX to add a paragraph element to your HTML document?

I have encountered an issue with two files in my project. The first file is an HTML document, while the second file is a PHP file called ajax_access_database.php. Originally, I intended for the PHP file to access a database, but complications arose, leadin ...

After running a npm run build command and hosting it on nodejs express.static, I attempted to start the app using pm2. However, I encountered an issue when trying to

I needed to set up hosting for 2 different node apps on a single Linux box from AWS EC2. I wanted to create a development environment and a staging environment, each using its own port. However, the issue I am currently facing is not related to port confli ...

Verifying Initialization Before Destructing jQuery File Upload

I'm currently working with the blueimps jQuery file upload plugin and I need to delete all existing instances before creating new ones. The issue I'm running into is that I receive an error when attempting something like this: $('.upload&ap ...