【发布时间】:2020-05-28 15:57:09
【问题描述】:
我最近更新了一个基于 Nuxt 的项目中的一些依赖项,我有一个开发人员为我工作(我是一名具有非常基本的 JS/vue 知识库的设计师)。现在构建吐出“模板根需要一个元素”错误。通过搜索其他线程,我可以看到我需要更改的原则(包含一个元素中的所有内容),但我只是不确定如何使用此文件的特定结构(v-if 排列)来做到这一点。我在下面包含了有问题的文件,想知道是否有人能指出我正确的方向?非常感谢!
<template>
<nuxt-link
v-if="to"
:class="classes"
:to="to"
v-bind="inheritedProps"
v-on="$listeners"
>
<slot />
</nuxt-link>
<a
v-else-if="href"
:class="classes"
:href="href"
v-bind="inheritedProps"
v-on="$listeners"
>
<slot />
</a>
<button
v-else
:class="classes"
:type="type"
v-bind="inheritedProps"
v-on="$listeners"
>
<slot />
</button>
</template>
<script>
export default {
name: 'BaseButton',
props: {
block: {
type: Boolean,
default: false
},
variant: {
type: String,
default: () => {}
},
href: {
type: String,
default: () => {}
},
to: {
type: String,
default: () => {}
},
type: {
type: String,
default: () => {}
}
},
computed: {
inheritedProps () {
return {
...this.$props,
...this.$attrs
}
},
classes () {
return [
'btn',
{
'btn--block': this.block
}
].concat(this.modifiers)
},
modifiers () {
const modifiersArray = this.variant && this.variant.split(' ')
return this.variant ? modifiersArray.map(modifier => `btn--${modifier}`) : false
}
}
}
</script>
【问题讨论】: