laravel - 如何将 vue 变量放在 laravel 括号内

标签 laravel laravel-5 laravel-5.2 vue.js

与 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 变量放在 laravel 括号内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39389995/

相关文章:

php - 验证多个复选框 laravel 5.2

php - Laravel 电子邮件模板样式

php - 如何获取在 Laravel 5.3 中执行的最后一个查询?

javascript - 如何使整个 <tr> 行在 laravel 中可点击?

php - 来自远程客户端和 SSL 的 file_get_contents

laravel - 如果 Laravel 中存在图像,如何避免编辑表单中需要图像?

css - 无法使用 Bootstrap 进行正常格式化

php - Laravel 5 Force 下载 pdf 文件

laravel - 跳过并全部拿走?

windows - 我将如何在后台运行 Laravel 5.2 的队列监听器?