【发布时间】:2018-11-09 03:08:48
【问题描述】:
我对 Laravel 5 比较满意,但对于 Vue.js 来说却是相当绿色,我正在徘徊是否可以调用 Laravel 的方法,这些方法可从 Vue.js 组件中的刀片中获得。
例如,我想为我的导航栏制作一个 Vue.js 组件,如下所示:
<template>
<nav class="navbar navbar-expand-sm navbar-dark bg-info mb-2">
<div class="container">
<a href="{{ route('home') }}" class="navbar-brand">Go Home</a>
</div>
</nav>
</template>
<script>
export default {
name: "NavBar"
}
</script>
home 是我的wep.php 文件中的命名路由
Route::get('/', 'SiteController@index')
->name('home');
然后我像这样添加了我的 Vue 组件:
Vue.component('navbar', require('./components/NavBar'));
在我的app.js 文件中
我怎样才能完成这样的事情?在这个例子中,我只使用route() 方法来插入一个src 标签,但我也有兴趣从 Vue.js 组件中做一些类似的事情
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
<a href="{{ route('register') }}">Register</a>
@endauth
</div>
@endif
这就是我从我的*.blade.php 文件中执行此操作的方式,但是我如何使用 Vue 组件执行这种类型的逻辑呢?顺便说一句,我使用的是 Laravel 5.7。
【问题讨论】:
-
您可以使用内联模板,但我发现将 PHP 混合到您的组件中是一种不好的做法。如有必要,您可以将 props 从刀片模板传递给组件。
-
就像我说的@Devon,我对 Vue.js 比较陌生,你有任何我可以查看的文档链接。谢谢
-
Props 是 Vue.js 的重要组成部分。您是在询问有关道具的文档吗?
-
就路由而言,有一个包可能会对您有所帮助:github.com/tightenco/ziggy create a global route in javascript.
标签: javascript php laravel vuejs2 laravel-5.7