嵌套的Vue组件无法渲染

时间:2020-01-09 21:36:09

标签: javascript typescript vue.js

我在Laravel 5.7中使用Vue(2.6),因此app.js包含组件注册和一个new Vue()声明。效果很好。

我是Vue的新手,但我不喜欢必须在app.js中注册每个组件的想法,该组件还包含我们在整个项目中使用的一些其他代码。我当时正在考虑创建一个App组件,该组件本质上是注册组件的根,并且可能包含应用程序范围的属性,然后将HTML作为子节点添加到该应用程序节点。

像这样:

主文件:

<div id="app">
  <app>
    <my-button></my-button>
  </app>
</div>

应用根组件:

import Vue from 'vue'
import Component from 'vue-class-component'
import MyButton from './MyButton'

@Component({
    components: {
        'MyButton': MyButton
    }
})
export default class App extends Vue {
}

MyButton组件:

import Vue from 'vue'
import Component from 'vue-class-component'

@Component({
    template: '<button></button>'
})
export default class MyButton extends Vue {

}

如果我将my-button中的App.ts作为模板包含在内,则可以使用,但是如果将其嵌套在Main文件中,则不会呈现。我收到模板或渲染函数未找到错误。我完全理解我需要做一个或另一个,但是如何获得render()来编译标记的内容? Angular可以做到这一点,我认为vue可以做到这一点。

谢谢

0 个答案:

没有答案