javascript - 当所有标签都平衡时,Vue组件中的结束标签无效
问题描述
我遇到了一些奇怪的行为。我的 Vue 组件没有被渲染(输出是<!---->
),我的 IDE 抱怨组件的无效结束,好像我的标签不平衡......但它们是。
下面是整个组件,它非常简单:
<template>
<div class="card activity">
<div class="card-body">
<div class="row">
<template v-if="activity.icon">
<div class="col-md-4">
<div class="icon">
<template v-if="activity.icon_type == 'font-awesome'">
<i :class="activity.icon"></i>
</template>
</div>
</div>
</template>
<template v-if="activity.icon">
<div class="col-md-8">
</template>
<template v-else>
<div class="col">
</template>
<h2 v-html="activity.title"></h2>
<template v-if="activity.description">
<p v-html="activity.description"></p>
</template>
<template v-if="activity.link">
<a :href="activity.link" class="btn btn-primary">{{ activity.link_text ? activity.link_text : 'Read More' }}</a>
</template>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
activity: {
type: Object,
required: true
},
},
data() {
return {};
},
mounted() {
console.log(this.activity);
},
computed: {
},
methods: {
}
}
</script>
我的 IDE(VS 代码)的错误是:
[vue/no-parsing-error]
Parsing error: x-invalid-end-tag.eslint-plugin-vue
我已将问题缩小到以下几行:
<template v-if="activity.icon">
<div class="col-md-8">
</template>
<template v-else>
<div class="col">
</template>
删除此块可解决此问题。我错过了什么?
解决方案
我知道您要做什么,而是建议用此替换 div
<div :class="activity.icon ? 'col-md-8' : 'col'">
推荐阅读
- react-native - 是否可以在反应本机路由器通量中创建抽屉菜单?
- asp.net - ResolveUrl 在文件夹中找不到 web 服务
- java - 如何通过 Swagger 将 Java POJO 转换为 JSON 模型和示例,就像它在 swagger-ui 中显示的那样
- r - 在 R 中删除数据框中的行后,如何更新 View() 中的行号?
- mysql - 无法将 None 插入 mysql int 字段
- javascript - 如何覆盖默认浏览器撤消操作
- c# - Appium Chrome 浏览器。如何禁用缓存重置选项
- android - TextView setTexSize 属性在适配器中未按预期工作
- javascript - 填充嵌套模式 Mongoose
- json - 使用 VBA 和 VBA-JSON 从 Wordpress API 访问 JSON 数据