如何在 Vue 文件中使用 Blade?
How can I use Blade in Vue files?
我正在尝试在我的 Vue 文件中使用 Blade carousel-signUp.vue
喜欢:
<template>
<div>
<form action="{{route('dump')}}" method="POST" >
/* Some code here...*/
</form>
</div>
</template>
但最后我得到了一个错误。
编译器无法理解 Vue 语法和 Blade 语法之间的区别。如何在 Vue 文件中定义 Blade 语法?
或者,有人知道如何在我的 vue
文件中使用 {{route('dump')}}
值吗?
您可以将“{{route('dump')}}”作为 prop 传递给组件。
<component route="/yourRouteHere"> </component>
https://vuejs.org/v2/guide/components.html#Props
米克
更好的解决方案可能是将所需的 blade 变量输出到(隐藏)html 和 select,即 Vue 代码中的 html。使用 @
.
转义 Vue 的花括号
你的bladeexample.blade.php
<div id="content" hidden>
{{ bladeVar }}
</div>
<div id="app">
@{{ vueVar }}
</div>
那个 blade 的结果(它在缓存文件中的样子)+ javascript (Vue)
var app = new Vue({
el: '#app',
data: {
vueVar: document.getElementById('content').innerHTML + 'from Vue'
}
});
<script src="https://unpkg.com/vue"></script>
<div id="content" hidden>
Hello world
</div>
<div id="app">
{{ vueVar }}
</div>
您不能在您的 Vue 文件中使用 blade,但您可以使用 Vue 插槽,这样您就可以将 blade 文件中的内容发送到组件:
Vue文件
<template>
<div>
<slot></slot>
</div>
</template>
Blade
<carousel-sign-up>
<form action="{{route('dump')}}" method="POST" >
/* Some code here...*/
</form>
</carousel-sign-up>
当您的组件应具有动态内容时,这将很有用。如果在那个组件中你只需要来自 blade 的路由并且表单将永远相同,请查看@Mick 答案。
您可以将数据解析为 Json,然后您可以将 blade 重定向到 vue Companent。我会在下面提到它。
<your-companent data={{$yourDataFromBackEnd}}></your-companent>
像这样,如果你有VueJs的经验,你可以在Vue中捕捉到“数据”。
我正在尝试在我的 Vue 文件中使用 Blade carousel-signUp.vue
喜欢:
<template>
<div>
<form action="{{route('dump')}}" method="POST" >
/* Some code here...*/
</form>
</div>
</template>
但最后我得到了一个错误。
编译器无法理解 Vue 语法和 Blade 语法之间的区别。如何在 Vue 文件中定义 Blade 语法?
或者,有人知道如何在我的 vue
文件中使用 {{route('dump')}}
值吗?
您可以将“{{route('dump')}}”作为 prop 传递给组件。
<component route="/yourRouteHere"> </component>
https://vuejs.org/v2/guide/components.html#Props
米克
更好的解决方案可能是将所需的 blade 变量输出到(隐藏)html 和 select,即 Vue 代码中的 html。使用 @
.
你的bladeexample.blade.php
<div id="content" hidden>
{{ bladeVar }}
</div>
<div id="app">
@{{ vueVar }}
</div>
那个 blade 的结果(它在缓存文件中的样子)+ javascript (Vue)
var app = new Vue({
el: '#app',
data: {
vueVar: document.getElementById('content').innerHTML + 'from Vue'
}
});
<script src="https://unpkg.com/vue"></script>
<div id="content" hidden>
Hello world
</div>
<div id="app">
{{ vueVar }}
</div>
您不能在您的 Vue 文件中使用 blade,但您可以使用 Vue 插槽,这样您就可以将 blade 文件中的内容发送到组件:
Vue文件
<template>
<div>
<slot></slot>
</div>
</template>
Blade
<carousel-sign-up>
<form action="{{route('dump')}}" method="POST" >
/* Some code here...*/
</form>
</carousel-sign-up>
当您的组件应具有动态内容时,这将很有用。如果在那个组件中你只需要来自 blade 的路由并且表单将永远相同,请查看@Mick 答案。
您可以将数据解析为 Json,然后您可以将 blade 重定向到 vue Companent。我会在下面提到它。
<your-companent data={{$yourDataFromBackEnd}}></your-companent>
像这样,如果你有VueJs的经验,你可以在Vue中捕捉到“数据”。