首页 > 解决方案 > 为什么我在 Laravel 中得到一个未定义的常量错误?

问题描述

我正在尝试让我的第一个 Vue 代码在 Laravel 中运行,但 Vue 似乎对我不起作用,我真的不知道为什么。

Vue Mastery 课程这个周末是免费的——它们通常比我负担得起的要贵——所以我想利用这个机会来正确地学习 Vue。不幸的是,我在 Vue 基础课程中的第一堂课是行不通的。

这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Shopping List App</title>
    <link rel="stylesheet" href="/css/app.css">
</head>
<body>
    <div id="shopping-list">
        <h1>{{ header }}</h1>
    </div>
    <script src="https://unpkg.com/vue"></script>
    <script>
        new Vue({
            el: '#shopping-list',
            data: {
                header: 'Vue is ready to party!'
            }
        });
    </script>
</body>
</html>

除了我在不同的位置有不同的 CSS 文件外,我看不出这与课程中显示的代码有任何区别。(该文件存在并且我已经正确指定了位置,因为 Laravel 并没有找不到它。)

这是错误消息:

Facade\Ignition\Exceptions\ViewException
Use of undefined constant header - assumed 'header' (this will throw an Error in a future version of PHP) (View: C:\Laravel\Somers02\resources\views\VueBasics\lesson01.blade.php)
http://localhost:8002/VueBasics/lesson01 

错误引用代码的第 10 行:

 <h1>{{ header }}</h1>

我想也许“标题”是一个保留字,所以我尝试将它更改为几乎可以肯定不是保留字的东西 - hdrx - 在这两个地方,但这并没有更好。该课程假设学生不使用 Laravel,只是使用普通的 HTML/CSS/JavaScript,所以我猜我需要在 Laravel 中做一些事情来完成这项工作。

标签: laravelvue.js

解决方案


我假设你在一个刀片文件中有这个,其中 {{ }} 语法也是刀片语法

https://laravel.com/docs/7.x/blade

“header”作为 PHP 执行,而不是在 VUE 或 javascript 中执行,因此“header”作为常量处理,因为它不是变量、函数或其他任何东西。


推荐阅读