如何将 vue 变量放在 laravel 括号内
How to place vue variable inside a laravel bracket
与 laravel 一起使用时,我在显示 vue 变量输出时遇到问题。下面是我的代码。
<input type="text"
class="form-control search-bar__input"
placeholder="Search Courses, Interests, Schools or Institutions"
autocomplete="on"
autofocus="on"
v-model="query"
v-on:keyup="search">
<ul class="list-group">
<li class="list-group-item" v-for="course in courses">
<a href="{{ route('courses.show', '{{ course.id }}') }}">@{{ course.title }}</a>
</li>
</ul>
在上面的代码中,我在 a 元素的路由中使用了 @{{course.id}}
。但是它似乎不起作用。谁能帮我解决这个问题。
您在那里混淆了服务器端和客户端代码。您将 @{{course.id}}
作为参数传递给 PHP 函数,因此您可能会遇到语法错误。
您应该使用 Laravel 来输出您的路线,然后在您的 HTML/Blade 中您可以使用 @{{ }}
语法输出一个 Vue 变量。
<a href="{{ route('courses.show') }}?course_id=@{{ course.id }}">@{{ course.title }}</a>
这将生成一个像 http://yourdomain.com/courses/path/
的 URL 并在其末尾粘贴 ?course_id=
。
我的猜测是您正在尝试使用其中包含参数的路由,而不是查询字符串。在这种情况下,你应该尝试这样的事情(未测试):
<a href="{{ route('courses.show', '') }}/@{{ course.id }}">@{{ course.title }}</a>
请注意,我在 route
的第二个参数周围加上了引号 '
并且我省略了 @
因为我们希望直接输出 {{ course.id }}
和我们在 PHP,而不是 Blade。
运气好的话,你的 URL 将生成如下内容:
http://yourdomain.com/courses/path/{{ course.id }}
与 laravel 一起使用时,我在显示 vue 变量输出时遇到问题。下面是我的代码。
<input type="text"
class="form-control search-bar__input"
placeholder="Search Courses, Interests, Schools or Institutions"
autocomplete="on"
autofocus="on"
v-model="query"
v-on:keyup="search">
<ul class="list-group">
<li class="list-group-item" v-for="course in courses">
<a href="{{ route('courses.show', '{{ course.id }}') }}">@{{ course.title }}</a>
</li>
</ul>
在上面的代码中,我在 a 元素的路由中使用了 @{{course.id}}
。但是它似乎不起作用。谁能帮我解决这个问题。
您在那里混淆了服务器端和客户端代码。您将 @{{course.id}}
作为参数传递给 PHP 函数,因此您可能会遇到语法错误。
您应该使用 Laravel 来输出您的路线,然后在您的 HTML/Blade 中您可以使用 @{{ }}
语法输出一个 Vue 变量。
<a href="{{ route('courses.show') }}?course_id=@{{ course.id }}">@{{ course.title }}</a>
这将生成一个像 http://yourdomain.com/courses/path/
的 URL 并在其末尾粘贴 ?course_id=
。
我的猜测是您正在尝试使用其中包含参数的路由,而不是查询字符串。在这种情况下,你应该尝试这样的事情(未测试):
<a href="{{ route('courses.show', '') }}/@{{ course.id }}">@{{ course.title }}</a>
请注意,我在 route
的第二个参数周围加上了引号 '
并且我省略了 @
因为我们希望直接输出 {{ course.id }}
和我们在 PHP,而不是 Blade。
运气好的话,你的 URL 将生成如下内容:
http://yourdomain.com/courses/path/{{ course.id }}