【发布时间】:2019-01-30 03:02:20
【问题描述】:
我在编译 .Vue 文件时遇到问题。
我正在使用 Vue.js 和 Laravel 运行 SPA。
我目前正在尝试在下面添加到我的Home.vue:
<ais-index app-id="{{ config('scout.algolia.id') }}" api-key="{{ env('ALGOLIA_SEARCH') }}" index-name="contacts">
<ais-input placeholder="Search contacts..."></ais-input>
<ais-results></ais-results>
</ais-index>
但是,这给了我这个错误:
- app-id="{{ config('scout.algolia.id') }}": Interpolation inside attributes has been removed. Use v-bind or the colon shorthand instead. For example, instead of <div id="{{ val }}">, use <div :id="val">.
- api-key="{{ env('ALGOLIA_SEARCH') }}": Interpolation inside attributes has been removed. Use v-bind or the colon shorthand instead. For example, instead of <div id="{{ val }}">, use <div :id="val">.
我什至尝试在这样的属性之前添加:,正如错误提示的那样:
<ais-input placeholder="Search contacts..."></ais-input>
<ais-results></ais-results>
但这给了我这个错误:
- invalid expression: Unexpected token { in
{{ config('scout.algolia.id') }}
Raw expression: :app-id="{{ config('scout.algolia.id') }}"
- invalid expression: Unexpected token { in
{{ env('ALGOLIA_SEARCH') }}
Raw expression: :api-key="{{ env('ALGOLIA_SEARCH') }}"
【问题讨论】:
-
你不能在 vue 文件中使用刀片语法。这些是 javascript 文件,不是 PHP 文件,你不能访问 Laravel 的函数。
-
@Devon - 关于如何访问我的
Vue文件中的环境变量的任何想法? -
您必须创建 javascript 变量。您不能混合使用 PHP 和 Javascript。我不知道您是如何加载 SPA 的,但您可以在从服务器加载 SPA 时创建变量。
标签: php laravel vue.js laravel-blade