我在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可以做到这一点。
谢谢