【问题标题】:Nest an inline template inside of a .vue component在 .vue 组件内嵌套一个内联模板
【发布时间】:2017-11-12 02:54:02
【问题描述】:

我有一个内联模板,我已经在 Laravel 的 Blade @include('my_inline_template') 中使用过,效果很好。

现在,我引入了另一个由其他人开发并使用 .vue 文件格式的 vue 组件。我想将我的内联模板放在那个 .vue 文件中。

我想要做的是类似下面的事情,它不起作用,因为你不能在 .vue 文件中使用@include。我有点不知道还能尝试什么,或者这是否可能:

ma​​in-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 编译并包含在网页中,如下所示:&lt;script src="{{ elixir('main-vue.js') }}" type="text/javascript"&gt;&lt;/script&gt;so 每当我在任何刀片文件中使用 @include('my_inline_template') 时,都会拉入包含内联模板的刀片文件。这一切都可以在带有刀片文件的应用程序中正常工作,但是(显然).vue 文件不喜欢尝试包含包含内联模板的刀片文件。

标签: javascript laravel vue.js vuejs2 vue-component


【解决方案1】:

我能够通过将组件分离成几个较小的组件来解决这个问题。这样,我可以让 .vue 组件和内联模板在同一个刀片视图上彼此相邻。但是,这并不是我问题的真正答案,所以如果有人想提供答案,我仍然会很感激。

我猜你不能在 .vue 文件中嵌套使用刀片的内联模板。

【讨论】:

    猜你喜欢
    • 2015-12-14
    • 2017-03-08
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多