• 技术文章 >web前端 >js教程

    Vue.js移动端组件库使用方法

    php中世界最好的语言php中世界最好的语言2018-04-14 17:06:46原创1148

    这次给大家带来Vue.js移动端组件库使用方法,Vue.js移动端组件库使用的注意事项有哪些,下面就是实战案例,一起来看一下。

    Mint UI 包含丰富的 css 和 JS 组件,能够满足日常的移动端开发需要。通过它,可以快速构建出风格统一的页面,提升开发效率。

    真正意义上的按需加载组件。可以只加载声明过的组件及其样式文件,无需再纠结文件体积过大。

    考虑到移动端的性能门槛,Mint UI 采用 CSS3 处理各种动效,避免浏览器进行不必要的重绘和重排,从而使用户获得流畅顺滑的体验。

    依托 Vue.js 高效的组件化方案,Mint UI 做到了轻量化。即使全部引入,压缩后的文件体积也仅有 100+ K。

    Mint UI

    由饿了么前端团队推出的 Mint UI 是一个基于 Vue.js 的移动端组件库。自 6 月初开源以来,根据社区和团队内部的反馈,修复了一些 bug 并新增了部分组件,于本周发布了 0.2.0 版本。本文介绍如何从零开始构建一个使用 Mint UI 的 Vue 项目。

    脚手架

    随着 Vue.js 的迅速发展,目前搭建一个 Vue 项目的脚手架已经有不少选择了。比如可以使用官方提供的 vue-cli。本文使用饿了么自己的构建工具 cooking 来完成这个任务。

    首先,全局安装 cooking:

    npm i cooking -g

    新建项目文件夹:

    mkdir mint-ui-example

    进入项目文件夹,使用 cooking 进行构建:

    cooking init vue

    最后的参数 vue 表示构建的是基于 Vue.js 的脚手架。

    其中“使用何种 CSS 预处理”这里选择的是 Salad,它是一套基于 PostCSS 的解决方案,有兴趣的同学可以了解一下。当然,你也可以选择其他的预处理器。

    接下来安装 Mint UI:

    npm i mint-ui --save

    引入 Mint UI

    好了,之后的工作可以分为两种情况:

    1. 引入全部组件

    如果你的项目会用到 Mint UI 里较多的组件,最简单的方法就是把它们全部引入。此时需要在入口文件 main.js 中:

    import MintUI from 'mint-ui';
    import 'mint-ui/lib/style.css';
    Vue.use(MintUI);

    2. 按需引入

    如果你只需要使用某个组件,可以仅引入这个组件,Mint UI 能够保证在代码打包时,与这个组件无关的文件不会出现在最终代码里。比如需要引入 Button 组件,则在 main.js 中:

    import Button from 'mint-ui/lib/button';
    import 'mint-ui/lib/button/style.css';
    Vue.component(Button.name, Button);

    可以看出,上面两种引入方法都要单独引入相应的 CSS 文件。这很不方便,尤其当你使用按需引入的方法引入多个组件时。为了避免这个问题,可以使用 babel-plugin-component 插件。首先当然是安装它:

    npm i babel-plugin-component -D

    然后在 .babelrc 中配置它:

    {
     "plugins": ["other-plugin", ["component", [
     { "libraryName": "mint-ui", "style": true }
     ]]]
    }

    这样上述两种引入方法就可以简化为:

    import MintUI from 'mint-ui';
    Vue.use(MintUI);

    import Button from 'mint-ui/lib/button';
    Vue.component(Button.name, Button);

    插件会自动引入相应的 CSS 文件。

    使用

    每个组件的使用方法请阅读文档,这里只举一个微小的例子。在 app.vue 中:

    <template>
     <h1>mint-ui-example</h1>
     <mt-button
     type="primary"
     @click="sheetVisible = true">
     选择操作
     </mt-button>
     <mt-actionsheet
     cancel-text=""
     :actions="actions"
     :visible.sync="sheetVisible">
     </mt-actionsheet>
    </template>
    <script>
     import { Toast, MessageBox } from 'mint-ui';
     export default {
     name: 'app',
     data() {
     return {
     sheetVisible: false,
     actions: [{
     name: '展示 Toast',
     method: this.showToast
     }, {
     name: '展示 Message Box',
     method: this.showMsgbox
     }]
     };
     },
     methods: {
     showToast() {
     Toast('这是一个 Toast');
     },
     showMsgbox() {
     MessageBox('提示', '这是一个 Message Box');
     }
     }
     };
    </script>

    以上就是 Mint UI 的使用方法介绍。如果在使用的过程中遇到任何问题,或者是想给我们一些建议,欢迎大家去 GitHub 仓库提 issue。

    可能有些同学知道,除了这个移动端组件库以外,饿了么还有一套桌面端组件库 vue-desktop。目前我们正在对它进行重构,这次有了 UED 的介入,整体视觉有了很大的提升。完成后也会开源,而且会有两个版本,分别支持 vue 1.0.x 和 vue 2.0。当然,Mint UI 也会考虑支持 vue 2.0。

    PS: mint-ui在手机页面的样式不正常问题

    问题一、

    在使用 vue2.0 +mint-ui 时pc端的样式没有问题但是手机端的就缩小了,失去了想要的效果

    这是一个头文件的申明问题在入口文件index.html里的标签里加上这个代码即可

     <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maxi

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    vue父子组件通信使用方法

    mint-ui loadmore上拉加载与下拉刷新冲突处理方法

    以上就是Vue.js移动端组件库使用方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:vue父子组件通信使用方法 下一篇:vue中SPA单页面应用程序详解
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• JavaScript常见的Number对象汇总• 什么是闭包?聊聊javascript中闭包,看看闭包有哪些作用?• JavaScript原型与原型链知识点详解• angular如何进行性能优化?变更检测方式浅析• 总结分享了解nodejs的几个关键节点
    1/1

    PHP中文网