github地址:weex-uijavascript
https://github.com/alibaba/weex-ui
官网:vue
https://alibaba.github.io/weex-ui/#/cn/
weexpack create appName cd appName npm install weexpack platform add android weexpack run android weexpack build android
npm i weex-ui -S
import { WxcComponent1, WxcComponent2 } from "weex-ui"
为了避免打包全部的组件,你须要使用 babel-plugin-component 来只引入须要的组件打包。java
npm i babel-plugin-component -D
// 增长一个plugins的配置到 .babelrc 中 { "plugins": [ [ "component", { "libraryName": "weex-ui", "libDir": "packages" } ] ] }
import WxcComponent1 from "weex-ui/packages/wxc-component1" import WxcComponent2 from "weex-ui/packages/wxc-component2"
若是你使用weex-toolkit来开发你的Weex项目,你须要向 .babelrc 文件中加入 'state-0' 和 'babel-plugin-component'node
npm i babel-preset-stage-0 babel-plugin-component -D
.babelrcandroid
{ "presets": ["es2015", "stage-0"], "plugins": [ [ "component", { "libraryName": "weex-ui", "libDir": "packages" } ] ] }
测试代码:git
index.vuegithub
<template> <wxc-tab-bar :tab-titles="tabTitles" :tab-styles="tabStyles" title-type="icon" :tab-page-height="tabPageHeight" @wxcTabBarCurrentTabSelected="wxcTabBarCurrentTabSelected"> <!-- 第一个页面内容--> <div class="item-container" :style="contentStyle"><text>首页</text></div> <!-- 第二个页面内容--> <div class="item-container" :style="contentStyle"><text>特别推荐</text></div> <!-- 第三个页面内容--> <div class="item-container" :style="contentStyle"><text>消息中心</text></div> <!-- 第四个页面内容--> <div class="item-container" :style="contentStyle"><text>个人主页</text></div> </wxc-tab-bar> </template> <script> import { WxcTabBar, Utils } from 'weex-ui'; // tab配置文件 import Config from './config' export default { components: { WxcTabBar }, data: () => ({ tabTitles: Config.tabTitles, tabStyles: Config.tabStyles }), created () { this.tabPageHeight = Utils.env.getPageHeight(); const { tabPageHeight, tabStyles } = this; this.contentStyle = { height: (tabPageHeight - tabStyles.height) + 'px' }; }, methods: { wxcTabBarCurrentTabSelected (e) { const index = e.page; // console.log(index); } } }; </script> <style scoped> .item-container { width: 750px; background-color: #f2f3f4; align-items: center; justify-content: center; } </style>
config.jsnpm
/** * 底部选项卡样式配置 */ export default { // 标题 + 图标 tabTitles: [ { title: '首页', icon: 'https://gw.alicdn.com/tfs/TB1MWXdSpXXXXcmXXXXXXXXXXXX-72-72.png', activeIcon: 'https://gw.alicdn.com/tfs/TB1kCk2SXXXXXXFXFXXXXXXXXXX-72-72.png', }, { title: '特别推荐', icon: 'https://gw.alicdn.com/tfs/TB1ARoKSXXXXXc9XVXXXXXXXXXX-72-72.png', activeIcon: 'https://gw.alicdn.com/tfs/TB19Z72SXXXXXamXFXXXXXXXXXX-72-72.png' }, { title: '消息中心', icon: 'https://gw.alicdn.com/tfs/TB1VKMISXXXXXbyaXXXXXXXXXXX-72-72.png', activeIcon: 'https://gw.alicdn.com/tfs/TB1aTgZSXXXXXazXFXXXXXXXXXX-72-72.png' }, { title: '个人主页', icon: 'https://gw.alicdn.com/tfs/TB1Do3tSXXXXXXMaFXXXXXXXXXX-72-72.png', activeIcon: 'https://gw.alicdn.com/tfs/TB1LiNhSpXXXXaWXXXXXXXXXXXX-72-72.png' } ], // tab样式 tabStyles: { bgColor: '#FFFFFF', titleColor: '#666666', activeTitleColor: '#3D3D3D', activeBgColor: '#FFFFFF', isActiveTitleBold: true, iconWidth: 70, iconHeight: 70, width: 160, height: 120, fontSize: 24, textPaddingLeft: 10, textPaddingRight: 10 } }
运行:babel
weexpack run android
或weex
npm i npm run start
建议执行 npm run start
项目目录:
效果图:
注:
当前 weex 版本没有自动生成 .gitignore 文件,须要手动添加 不然上传时会将 node_modules 一块儿上传
.gitignore
.DS_Store node_modules/ dist/ npm-debug.log yarn-error.log # Editor directories and files .idea *.suo *.ntvs* *.njsproj *.sln
.