【发布时间】:2017-11-12 02:54:02
【问题描述】:
我有一个内联模板,我已经在 Laravel 的 Blade @include('my_inline_template') 中使用过,效果很好。
现在,我引入了另一个由其他人开发并使用 .vue 文件格式的 vue 组件。我想将我的内联模板放在那个 .vue 文件中。
我想要做的是类似下面的事情,它不起作用,因为你不能在 .vue 文件中使用@include。我有点不知道还能尝试什么,或者这是否可能:
main-vue.js
import Component from './components/Component.vue'
require('./components/my_inline_template');
const vm = new Vue({
el: '#vue_root',
components: {
Component
}
});
my_inline_template.js
Vue.component('my_inline_template', {
// blah
});
my_inline_template.blade.php
<my_inline_template inline-template>
// blah
</my_inline_template
Component.vue
<template>
<div>
@include('my_inline_template')
// More HTML
</div>
</template>
<script>
export default{
props: ['blah'],
data() {
return{
// blah
},
},
mounted() {
// blah
},
methods: {
// blah
}
}
</script>
如何在上述 .vue 文件中包含my_inline_template?谢谢!
【问题讨论】:
-
“我有一个内联模板,我已经在 Laravel 的 Blade @include('my_inline_template') 中使用过,效果很好。” - 你能展示一下你是怎么做到的吗?
-
@riyaz-ali 如果你看看上面的 my_inline_template.blade.php 和 my_inline_template.blade.js,如果你看到我是如何在 main-vue.js 中注册这个组件的,那么你可以只需使用@include('my_inline_template') 将其包含在另一个blade.php 文件中。但是,正如我的问题所说,我现在不知道如何或是否可以在 .vue 文件中使用此模板。
-
这就是我要问的......在你的 my_inline_template.js 文件中你如何添加你的模板?通过指向 my_inline_template.blade.php 的 url?您可能可以在上面的代码中添加有关如何加载模板的更多详细信息...
-
它的工作方式是 main-vue.js 引入了 my_inline_template.js javascript。然后 main-vue.js 由 elixir 编译并包含在网页中,如下所示:
<script src="{{ elixir('main-vue.js') }}" type="text/javascript"></script>so 每当我在任何刀片文件中使用 @include('my_inline_template') 时,都会拉入包含内联模板的刀片文件。这一切都可以在带有刀片文件的应用程序中正常工作,但是(显然).vue 文件不喜欢尝试包含包含内联模板的刀片文件。
标签: javascript laravel vue.js vuejs2 vue-component