vue2.0 mintUI 学习备忘
一 技术栈:vuecli+vuejs2+mintUI+axios
vuecli :脚手架工具 vuejs:前端框架 mintUI:基于vuejs移动端UI axios:vuejs ajax数据交互插件
其中 node版本 v6.2.0
1、安装vue-cli脚手架 cnpm install -g vue-cli
1.1 cnpm是淘宝提供的镜像工具 安装办法 $ npm install -g cnpm --registry=https://registry.npm.taobao.org
2、执行vue
2.1 vue list
2.2 vue init webpack mintui(应用webpack模板 项目名称为mintui)
3、cd mintui / cnpm install / cnpm run dev
总结用vue-cli共五步
cnpm install -g vue-cli
vue init webpack my-project
cd my-project
cnpm install
cnpm run dev
4、安装stylus 不报错方法 1、stylus-loader:"2.4.0" 2、cnpm install
5、目录结构 src main.js -> 入口文件
App.vue -> vue大组件
components -> 组件目录
attachment attachment.vue ->组件
list
list.vue
6、app.vue
<template>
<div class="container"> <!-- 从vue2开始 需要有根节点 -->
<transition name="router-fade" mode="out-in"> <!-- 路由切换淡入淡出的效果-->
<router-view></router-view> <!-- 组件容器 -->
</transition>
</div>
</template> <script type="text/javascript"> </script> <style lang="stylus" type="text/stylus"> <!-- stylus模板标签 -->
.router-fade-enter-active, .router-fade-leave-active
transition opacity .3s .router-fade-enter, .router-fade-leave-active
opacity 0 </style>
7、main.js
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'; //引入vue
import App from './App'; //App.vue主组件
import VueRouter from 'vue-router'; //引入路由
import Vuex from 'vuex'; //引入vuex状态管理 本来想用但因为还没弄明白,暂时放着
import axios from 'axios'; //axios ajax与服务端数据接口交互需要的插件
import list from './components/list/list.vue'; //列表组件
import goods from './components/goods/goods.vue'; //样本物流
import attachment from './components/attachment/attachment.vue'; //附件组件
import 'mint-ui/lib/style.css'; //mintui的样式表
import MintUI from 'mint-ui'; //引入mint-ui mint-ui为饿了么开源的移动端UI import { Navbar, TabItem } from 'mint-ui'; //tab切换需要的 import { TabContainer, TabContainerItem } from 'mint-ui'; //tab切换 import { Search } from 'mint-ui'; //搜索 import { InfiniteScroll } from 'mint-ui'; //滚动加载 Vue.config.productionTip = false; //
Vue.use(VueRouter); //使用路由
Vue.use(Vuex); //使用vuex
Vue.use(MintUI); //使用mintUI
Vue.use(InfiniteScroll); //使用滚动加载 //Vue.component(MtRadio.name, MtRadio); Vue.component(Navbar.name, Navbar); //
Vue.component(TabItem.name, TabItem); Vue.component(TabContainer.name, TabContainer);
Vue.component(TabContainerItem.name, TabContainerItem); Vue.component(Search.name, Search); let app = Vue.extend(App); const routes = [{ //定义路由
path:'/', //默认请求
component:list //列表页
},{
path:'/attachment', //附件列表
component:attachment //
},{
path:'/goods', //
component:goods
}]; const router = new VueRouter({ //注册router
routes
}); /* eslint-disable no-new */
/*new Vue({
el: '#app',
template: '<App/>',
components: { App }
})*/ let apps = new Vue({ //实例化vue
template: '<App/>',
components: { App },
router
}).$mount("#app");
list.vue
<template>
<div class="list">
<mt-navbar v-model="selected">
<mt-tab-item id="1">已完成</mt-tab-item>
<mt-tab-item id="2">未完成</mt-tab-item>
</mt-navbar>
<!-- tab-container -->
<mt-tab-container v-model="selected">
<mt-tab-container-item id="1">
<ul>
<li v-for="task in tasks">
<div class="irow">
<div class="ileft">患 者 姓 名</div>
<div class="im">:</div>
<div class="iright">{{task.HZNAME}}</div>
</div>
<div class="irow">
<div class="ileft">订 单 编 号</div>
<div class="im">:</div>
<div class="iright">{{task.ORDERID}}</div>
</div>
<div class="irow">
<div class="ileft">检测包条码</div>
<div class="im">:</div>
<div class="iright">{{task.PKG_NUM}}</div>
</div>
<div class="irow">
<div class="ileft">检 测 类 型</div>
<div class="im">:</div>
<div class="iright">{{task.EXAMNAME}}</div>
</div>
<div class="irow">
<div class="ileft">状 态</div>
<div class="im">:</div>
<div class="iright">订单未完成</div>
</div>
<div class="irow">
<div class="ileft">送 检 日 期</div>
<div class="im">:</div>
<div class="iright">{{task.SEND_TIME}}</div>
</div>
<div class="icount">
<!-- <router-link to="./attachment"><mt-button type="primary" size="small">查看附件</mt-button></router-link> -->
<router-link :to="{ path:'./attachment',query:{order_id: task.ORDERID}}"><mt-button type="primary" size="small">查看附件</mt-button></router-link>
<router-link to="./goods"><mt-button type="primary" size="small">样本物流</mt-button></router-link>
<mt-button type="primary" size="small">报告物流</mt-button>
</div>
</li>
</ul> <mt-button type="primary" size="large" @click="loadMore">加载更多</mt-button> </mt-tab-container-item> <mt-tab-container-item id="2">
<!-- <mt-cell v-for="n in 45" :title="'测试 ' + n" /> -->
</mt-tab-container-item>
</mt-tab-container>
</div>
</template>
<script>
import axios from 'axios';
import { Indicator } from 'mint-ui';
export default {
data () {
return {
selected:'1',
p:1,
tasks:[]
}
},
methods:{
loadData (p) {
Indicator.open('加载中...');
var that = this;
axios.get("http://testqywx.origimed.com:18082/weixin-qy/order/Order/userOrderList.json?usercode=sysadmin&orderState=0&page="+p+"&rows=10")
.then(response=>{let reason=response.data.reason;for(var v of reason){this.tasks.push(v)};Indicator.close();}); },
loadMore (){
this.p++;
this.loadData(this.p); }
},
mounted () {
this.loadData(1);
}
}
</script>
<style lang="stylus" type="text/stylus">
.mint-tab-container
margin-top 2px
.container ul li
list-style none
ul
padding 0
.irow
width 100%
height 30px
line-height 30px
.ileft
width 40%
float left
text-align right .im
float left
width 5%
padding 0 10px
text-align center .iright
width 40%
float left
.icount
width 90%
margin 10px auto 0
text-align center
button
margin-left 14px
.page-infinite-loading
text-align center
line-height 50px </style>
attachment.vue
<template>
<div class="attachment">
<div v-for="task in tasks">
<div class="page-cell">
<a class="mint-cell">
<div class="mint-cell-left"></div>
<div class="mint-cell-wrapper">
<div class="mint-cell-title">
<span class="mint-cell-text">附件名称 : {{task.ATTACH_NAME}}</span>
</div>
<div class="mint-cell-value">
<span></span>
</div>
</div>
<div class="mint-cell-right"></div>
</a>
<a class="mint-cell"><!---->
<div class="mint-cell-left"></div>
<div class="mint-cell-wrapper">
<div class="mint-cell-title"><!---->
<span class="mint-cell-text">
<img v-bind:src=task.ATTACH_PATH width="120" height="120">
</span> <!---->
</div>
<div class="mint-cell-value">
<div class="iarticle">
<p>样本ID:{{task.ATTACH_ID}}</p>
<p>上传环节:{{task.TO_DO}}</p>
<p>上传人:{{task.TRANS_NAME}}</p>
<p>{{task.TRANS_TIME}}</p>
</div>
</div>
</div>
<div class="mint-cell-right"></div> <!---->
</a>
</div>
</div>
</div>
</template>
<script>
import axios from 'axios';
export default{
data(){
return{
id:'',
tasks:[]
}
},
methods:{
loadData:function(){
this.id = this.$route.query.order_id;
axios.get("http://testqywx.origimed.com:18082/weixin-qy/order/Order/userOrderFilesList.json?usercode=sysadmin&orderId="+this.id)
.then(response=>this.tasks=response.data.reason);
}
},
mounted(){
this.loadData();
} }
</script>
<style type="text/stylus" lang="stylus">
.mint-cell-title
margin 10px 0
.iarticle
width 179px
height 150px
.mint-cell
margin-bottom 10px
</style>
这样就形成了一个最简单的例子
最总效果:
mintUI中文文档参考地址http://mint-ui.github.io/docs/#/zh-cn2
vue2.0 mintUI 学习备忘的更多相关文章
- Android学习备忘笺01Activity
01.设置视图 在Android Studio新建的项目中,通过 setContentView(R.layout.activity_main);方法将res/layout/activity_main. ...
- leaflet 学习备忘
leaflet 开源js地图工具.非常好用. leaflet参考:http://leafletjs.com/ 特性: 完全开源,可以基于不同的第三方瓦片生成地图. 基于原始GPS,无需转换 可创建离线 ...
- 【数据售卖平台】—— Vue2.0入门学习项目爬坑
前言:这个项目是我从零学习Vue2.0时用于练习基础知识的入门项目,包含了Vue2.0几乎所有项目都会用到的基础功能,是新手用来练手的好项目,这里温故知新对功能点做一个总结.github地址:http ...
- vue2.0 element学习
1,bootstrap和vue2.0结合使用 vue文件搭建好后,引入jquery和bootstrap 我采用的方式为外部引用 在main.js内部直接导入 用vue-cli直接安装jquery和bo ...
- vue2.0 路由学习笔记
昨天温故了一下vue2.0的路由 做个笔记简单记录一下! 1.首相和vue1.0一样 要使用vuejs的路由功能需要先引入vue-router.js 2.然后修改原有a标签处代码 这里以一个ul li ...
- Git学习备忘
本文参考廖雪峰写的精彩的git学习文档,大家可以直接去官网看原版,我这里只是便于自己记录梳理 原版地址:http://www.liaoxuefeng.com/wiki/0013739516305929 ...
- MVC4 学习备忘
WebConfig文件里添加数据库链接字符: <add name="MovieDBContext(可以自己取字符串名字)" connectionString="Da ...
- UML学习备忘
两大类UML图: 行为图(behavior diagrams)和结构图(structure diagrams) 行为图将引导系统分析员分析且理清"系统该做些什么"?系统分析 ...
- vue2.0 MintUI安装和基本使用
http://mint-ui.github.io/docs/#/en2 Mintui 详细地址 基于2.0的安装 npm install mint-ui -S 主要就三行指令 import Mint ...
随机推荐
- -安装与配置 FTP 服务器
我们经常会使用 FTP,把本地电脑上的文件上传到服务器上,或者把服务器上的文件下载到自己的电脑里面.FTP 有服务端和客户端,FTP 的服务端提供了这种传输文件的服务,FTP 的客户端提供了传输文件的 ...
- Bootstrap滚动监听(Scrollspy)插件
Bootstrap滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标
- 在线聊天项目1.4版 使用Gson方法解析Json字符串以便重构request和response的各种请求和响应 解决聊天不畅问题 Gson包下载地址
在线聊天项目结构图: 多用户登陆效果图: 多用户聊天效果图: 数据库效果图: 重新构建了Server类,使用了Gson方法,通过解析Json字符串,增加Info类,简化判断过程. Server类代码如 ...
- iOS应用架构谈-part1概述
当我们讨论客户端应用架构的时候,我们在讨论什么? 其实市面上大部分应用不外乎就是颠过来倒过去地做以下这些事情: --------------- --------------- ------------ ...
- HTML与XHTML区别
1. html超文本标记语言,xhtml可扩展超文本标记语言,xhtml是将html作为xml的应用重新定义的一个标准. 2. xhtm比html的代码规则严格很多,例如'a < b'在xhtm ...
- gradle更换国内镜像、配置本地仓库地址
gradle更换国内镜像,安装包解压后init.d文件夹下面创建init.gradle文件,内容如下 allprojects{ repositories { def REPOSITORY_URL = ...
- html5新结构标签
html5新结构标签 <header> 定义 section 或 page 的页眉,也就是定义头部的标签. <footer> 定义 section 或 page 的页脚. & ...
- .Net Core依赖注入中TryAddEnumerable 和TryAddTransient方法的区别
.Net Core依赖注入添加的每个服务,最终都会转换为一个ServiceDescriptor的实例,ServiceDescriptor包含以下属性: Lifetime:服务的生命周期(Singlet ...
- 关于使用Java实现的简单网络爬虫Demo
什么是网络爬虫? 网络爬虫又叫蜘蛛,网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直 ...
- 经典MSSQL语句大全和常用SQL语句命令的作用
下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL类型包括数据库.表的创建,修改,删除,声明—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML类 ...