OR博客
【uni-app】——引入vuetify组件库
苗锦洲
创建于:2020-12-01 16:34:00
0
34
1039
0
几个月前遇到的问题,如何在uni-app中引入并使用vuetify,几个月前试了试,没搞好,就一直没管了,百度上找不到这个问题,可能是我搜索姿势不太对,或者途径不太对吧。今天突然想弄一下,没想到居然成功了一大半。

几个月前遇到的问题,如何在 uni-app 中引入并使用 vuetify,几个月前试了试,没搞好,就一直没管了,百度上找不到这个问题,可能是我搜索姿势不太对,或者途径不太对吧。今天突然想弄一下,没想到居然成功了一大半。

相关链接

操作步骤

新建 uni-app 项目

这个我就不多说了,百度上比较详细的步骤一搜一大把,这个不是这篇文章的重点。

下载 vuetify

  1. 可以通过 npm install vuetify --save 来下载 vuetify,vuetify 官网有详细的安装步骤

  2. 然后只需要将 vuetify 文件夹整个复制到 uniapp 根目录下,其他 install 自动生成的 node_moudles、packxxx-lock.json 啥的都可以删除,因为 uni-app 的项目结构与 vue 项目不太一样;

    粘贴 vuetify 文件夹后

  3. 根据 vuetify 官网的安装提示,创建 plugins/vuetify.js 文件并在 main.js 中引入 vuetify;

    3.1 为 Vuetify 创建一个插件文件,plugins/vuetify.js,内容如下:

    // plugins/vuetify.js import Vue from 'vue' import Vuetify from 'vuetify' import 'vuetify/dist/vuetify.min.css' Vue.use(Vuetify) const opts = {} export default new Vuetify(opts)

    3.2 导航到主入口点,在那里实例化 Vue 实例并将 Vuetify 对象作为选项传递进来。

    import Vue from 'vue' import App from './App' import vuetify from '@/plugins/vuetify' Vue.config.productionTip = false App.mpType = 'app' const app = new Vue({ vuetify, ...App }) app.$mount()
  4. App.vue 中的 <style></style> 中引入 vuetify 默认的字体和图标;

    <script> export default { onLaunch: function() { console.log('App Launch') }, onShow: function() { console.log('App Show') }, onHide: function() { console.log('App Hide') } } </script> <style> /*每个页面公共css */ @import url("https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"); @import url("https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css"); </style>
  5. 在其他 vue 文件中使用 vuetify。

    <template> <v-app> <view class="content"> <image class="logo" src="/static/logo.png"></image> <view class="text-area"> <text class="title">{{title}}</text> </view> <v-btn @click="clickButton" color="primary">按钮</v-btn> </view> </v-app> </template> <script> export default { data() { return { title: 'Hello Uniapp Vuetify' } }, onLoad() { }, methods: { clickButton: (() => { console.log("clickButton") }) } } </script> <style> .content { display: flex; flex-direction: column; align-items: center; justify-content: center; } .logo { height: 200rpx; width: 200rpx; margin-top: 200rpx; margin-left: auto; margin-right: auto; margin-bottom: 50rpx; } .text-area { display: flex; justify-content: center; } .title { font-size: 36rpx; color: #8f8f94; } </style>

运行截图

运行截图

注意

  • 我的这种方法虽然可以正常使用 <v-app></v-app> 等 vuetify 标签,但是有时候效果跟官网的貌似不太一样,控制台有时候还会有报错,可能还需要进行其他操作,目前我还没完全搞明白;

  • 有时候复制官网的用例有时候也会有点儿小问题,不过就目前来讲,按钮、卡片、进度条可以使用,其他的由于时间关系还没有来得及试,弄好后第一时间先写博客去了==。

评论
楼主暂时不想被别人评论哦~