vue.js - Vue JS 创建 web 组件的问题
问题描述
我正在尝试从 vue 组件创建一个 Web 组件,但我遇到了一些问题。这背后的原因是我正在使用 vue 创建一个新项目,但我的经理希望我能够使用我正在为现有项目编写的所有组件,这是一个非常复杂的 Web 应用程序,没有任何框架(只有 vanilla 和jQuery)。
我面临的问题是,当我尝试使用使用第三方库(如 vuetify)的组件来执行此操作时。这根本无法按预期工作,并且当我在非 vue 应用程序中使用 Web 组件时未应用样式。
以下是这些组件之一的示例:
<template>
<v-card dark class="mx-auto"
outlined>
<v-card-title>
{{title}}
</v-card-title>
<v-row>
<v-col cols="sm" v-for="stat in stats" :key="stat.text">
<div class="col pa-4">
<h3>{{stat.value}}</h3>
<h5 class=" text-uppercase">{{stat.text}}</h5>
</div>
</v-col>
</v-row>
</v-card>
</template>
<script>
import {VCard, VCol, VRow} from 'vuetify'
export default {
name: "StatusCard",
props: {
title: String,
//stats: Array
},
components:{VCard, VCol,VRow},
data: () => ({
stats: [{text: 'test 1', value: 11}, {text: 'test 2', value: 22}]
})
};
</script>
<style>
.small-icon {
padding-bottom: 3px;
padding-right: 5px;
}
</style>
这是它在我的vue 应用程序中的外观:
现在我运行这一行:
vue-cli-service build --target wc --inline-vue --name card-test src/components/StatusCard.vue
当我启动一个简单的 HTTP 服务器并提供所创建的 demo.html 文件时,我得到了所有文件,这就是我得到的:
我究竟做错了什么?
解决方案
好的,所以我终于让它工作了,以防其他人遇到同样的问题。我刚刚在我的组件中导入了 vuetify css:
<style>
@import '../../node_modules/vuetify/dist/vuetify.min.css';
</style>
推荐阅读
- vue.js - 具有计算模型的 Vue 选择组件在特定条件下未显示正确的值
- javascript - 将查询结果设置为数据表的源
- rust - 如何检查一个东西是否在向量中
- c# - (C#) 构建多个目标框架时出错:“无法打开 'MyApi.dll' 进行写入”
- macos - 当表为空时,如何确定 NSTableView 中给定列的 NSTableCellView?
- java - 存储百万长度的百万键,哪个更好红黑树或基数树?
- mysql - 显示同一列中两个条件满足的 ID
- ios - 使用所需的便利初始化解码时如何修复“调用中的额外参数”?(编码器:)?
- java - 获取相同的对象到ListView Android
- javascript - 如何同步触发两个异步函数?