首页 > 解决方案 > 你如何在 web 组件中包含 vuetify

问题描述

我正在使用以下命令构建 Web 组件:

vue-cli-service build --target wc --name my-element 'src/components/mycomponent.vue'

我想在这个组件中使用 Vuetify。如何将其添加到mycomponent.vue组件的影子根范围内?

该组件将被动态加载到使用其他框架/样式构建的应用程序中。我希望 Web 组件能够在其中使用,例如,、v-btnv-layout

谢谢你,唐尼

标签: vue.jsvuetify.jsvue-cli-3

解决方案


对于 vuetify 2.x,它需要对 Vue 实例进行如下初始化。

// plugins/vuetify.js
import Vue from 'vue'
import Vuetify from 'vuetify/lib'

Vue.use(Vuetify);

const opts = {};

export default new Vuetify(opts);
// main.js
import Vue from 'vue';
import App from './app.vue';
import vuetify from './plugins/vuetify';

new Vue({
  vuetify,
  render: h => h(App),
}).$mount('#app');

您需要将此类初始化移动到您的 Web 组件中。

<template>
  ...
</template>

<script>
import { VBtn, VLayout } from 'vuetify/lib'
import vuetify from '../plugins/vuetify';

export default {
  name: 'MyWebComponent',
  vuetify,
  components: {
    VBtn,
    VLayout
  },
  ...
}
</script>

<style>
  ...
</style>

推荐阅读