以下是我在使用vue过程中自己对vue的一些小总结,希望对学习vue的亲们能有所帮助:

1.   http的post请求:

this.$http({url: '/someUrl', method: 'GET'}).then(function (response) {           // success callback       }, function (response) {           // error callback       });

eg1:this.$http.post(serverApi, {'method':'getOrgInfo','params':{orgid:_orgid}}, {

headers: {

token: userToken

}

}).then(function(response) {

if(response.ok&&response.data!=undefined){

this.enterpriseData= response.data[0][0];

this.enterpriseData.orgid=_orgid;

}else{

alert('网络请求数据失败!');

}

},function(err) { //ajax请求出错

alert(err.message);

});

eg2:this.$http.post(serverApi, _this.getOrgOpListData, {

headers: {

token: userToken

}

}).then(function(response) {

if (response.ok && response.data != undefined ) {

response.data[1].forEach(function(item) {

item.members = false;

item.leader = false;

});

this.getOrgOpListResult.items = response.data[1];

}

},function(err) { //ajax请求出错

alert(err.message);

});

此处有坑请注意:当你将ajax请求拿回的数据赋值给getOrgOpListResult.items 后,并且想动态再给getOrgOpListResult.items 添加属性时,当你在别的方法里需要改变动态添加的这个属性时,你是访问不到这个属性的,所以应该在ajax请求拿回的数据里动态添加属性,然后再将其赋给getOrgOpListResult.items,然后你就可以访问并修改给getOrgOpListResult.items动态添加的属性了。

2.数据双向绑定:

适用于:<input><select><textarea>

eg:JS代码:

data () {

return {

eg1:'张三',

}

}

html代码:

<input  type='text'  v-model='eg1'>

当你在改变这个文本输入框的值时,data中的“eg1”的值相应也会改变。

3.如果想在只是单纯的显示data里数据的值。

eg:JS代码:

data () {

return {

eg1:'张三',

}

}

html代码:<label >{{eg1}}</label>

4.循环遍历v-for:

eg:

<template v-for="(index city ) in dc.city">

<option value='{{city.codeno}}'>{{ city.codename }}</option>

</template>

dc.city是你要循环遍历的data,index代表city数据的索引,city 是dc.city的别名,city.codeno、city.codename是循环遍历的data里的属性。

5.逻辑判断v-if:  v-if是根据所传的值决定是否加载该模块/dom。

eg:  JS代码:

data() {

return {

showFlag: true,

}

}

html代码:

<div v-if='showFlag' class='login-container' ></div>

当showFlag的值是true时,class为login-container的div才显示。

6.v-else:在v-if或v-show后紧跟的dom后可以跟v-else,逻辑类似与if和else。

7.v-on:缩写@,绑定事件监听器,普通元素中只能监听原生DOM事件,自定义组件中可以监听组件中的自定义事件.可以传参$event

eg1: JS代码:

methods: {

backLogin: function() {

this.showRegisterFlag = false;

this.showforgotPwdFlag = false;

this.showFlag = true;

},

}

html代码:

<button type='submit' class='btn btn-warning' v-on:click='backLogin'>返回</button>

当单击“返回”按钮时触发其clik事件,调用'backLogin'方法。

eg2:JS代码:

methods: {

addSelectedTagForMembers: function(index) {

this.getOrgOpListResult.items[index].members = true;

},    }

html代码:

<template v-for='item in getOrgOpListResult.items'>

<div class="select-item" v-on:click='addSelectedTagForMembers($index)'>{{item.name}}</div>

</template>

当单击某一个class为select-item的div时,调用addSelectedTagForMembers($index)方法,在此方法中改变当前你点击的getOrgOpListResult.items里members属性的值。

8.v-bind:可以绑定src/class /style/prop等,此处重点说下v-bind:class的用法

eg1: <div class="select-item" v-bind:class="{'selected': item.members}" ></div>

当item.members的值为true时,该div的class="select-item selected"

eg2:

<input v-bind:class="{'reds': confirmPassword!=registeredData.password}" class='form-control' type="password">

当满足confirmPassword!=registeredData.password时该密码框class='form-control  reds '

9.v-link:是一个用来让用户在 vue-router 应用的不同路径间跳转的指令。该指令接受一个 JavaScript 表达式,并会在用户点击元素时用该表达式的值去调用 router.go

eg: <a v-link="{ path: '/practice/taskAssignment/'+parmasForRouter.ac_id, activeClass: 'practice-active-class'}">任务分配</a>

当你要在跳转过去的页面taskAssignment内拿到你跳转页面时传的参数ac_id值时,用以下方式获取传参的值:

var acid=this.$route.params.ac_id;

链接活跃时的class:带有 v-link指令的元素,如果 v-link对应的 URL 匹配当前的路径,该元素会被添加特定的 class。默认添加的 class 是 .v-link-active,而判断是否活跃使用的是包含性匹配

链接活跃时的 class 名称可以通过在创建路由器实例时指定 linkActiveClass全局选项 来自定义,也可以通过 activeClass内联选项来单独指定:

eg:  <a v-link="{ path: '/a', activeClass: 'custom-active-class' }"></a>

10.引用插件:

eg :  JS代码:

import yeziTablePaing from 'yezi-vue/widget/yeziTablePaing.vue'

export default {

components:{

yeziTablePaing

},

props:{ },

}

当你用import引用插件后在 components 中记得写入。

vue小总结的更多相关文章

  1. Vue.js起手式+Vue小作品实战

    本文是小羊根据Vue.js文档进行解读的第一篇文章,主要内容涵盖Vue.js的基础部分的知识的,文章顺序基本按照官方文档的顺序,每个知识点现附上代码,然后根据代码给予个人的一些理解,最后还放上在线编辑 ...

  2. 一个基于ES6+webpack的vue小demo

    上一篇文章<一个基于ES5的vue小demo>我们讲了如何用ES5,vue-router做一个小demo,接下来我们来把它变成基于ES6+webpack的demo. 一.环境搭建及代码转换 ...

  3. 一个基于ES5的vue小demo

    由于现在很多vue项目都是基于ES6开发的,而我学vue的时候大多是看vue官网的API,是基于ES5的,所以对于刚接触项目的我来说要转变为项目的模块化写法确实有些挑战.因此,我打算先做一个基于ES5 ...

  4. Vue小项目二手书商城:(四)详情页和购物车(emit、prop、computed)

    实现效果: 点击对应商品,对应的商品详情页出现,详情页里面还有“Add to cart”按钮和“×”退出按钮. 点击“Add to cart”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...

  5. Vue小项目二手书商城:(三)前端渲染数据

    实现内容: axios取到的数据在前端使用(父子组件各自应该怎么使用) 一.简单使用(在哪取在哪用) 1.在App.vue中script中加上data(data专属于当前组件,父子组件传参通过prop ...

  6. Vue小项目二手书商城:(二)axios前后端数据交互

    实现内容: 写路由接口(express) axios取数据 一.写接口 1.我们要在前端取到后端的数据(之前写的data.json)可以用vue-resourse或者用axios,在vue2之后官方就 ...

  7. Vue小项目二手书商城:(一)准备工作、组件和路由

    本项目基于vue2.5.2,与低版本部分不同之处会在(五)参考资料中提出 完整程序:https://github.com/M-M-Monica/bukesi 实现内容: 资源准备(mock数据) 组件 ...

  8. VUE小练习(按钮颜色,数组映射)

    VUE小练习(按钮颜色,数组映射) ## 1.有红.黄.蓝三个按钮,以及一个200x200矩形框box, 点击不同的按钮,box的颜色会被切换成指定的颜色 ''' 解法一:我本来的思路,把三个按钮绑定 ...

  9. vue小故事之父子(上下级)通信之父传子props

    vue小故事之父子(上下级)通信之父传子props vue 父子(上下级)通信 props  或许你对父子通信有点迷糊,为什么这样那样父子之间就可以通信了,以下通过一个小故事来进行解说,故事模型或许有 ...

随机推荐

  1. 数据库sqlite 存储图片

    SQLite可以存储 BLOB(binary large object,二进制大对象)格式数据,利用它可以在安卓应用开发中存储图片资源. 这里先讲下,怎样把数据从数据库中取出,并显示在imagView ...

  2. 【BZOJ】4144: [AMPPZ2014]Petrol

    题意 给定一个\(n\)个点.\(m\)条边的带权无向图,其中有\(s\)个点是加油站.每辆车都有一个油量上限\(b\),即每次行走距离不能超过\(b\),但在加油站可以补满.\(q\)次询问,每次给 ...

  3. jsp 中 有没有类似java if else语句

    <c:when test=""></c:when> <c:otherwise></c:otherwise> 有if else的功能 ...

  4. .net 4.0 ValidateRequest="false" 无效

    昨天安装了VisualStudio 2010 Ultimate,今天把最近的一个项目升级到了4.0下,结果跑了一下,发现关于页面启用 ValidateRequest="false" ...

  5. Apache InterfaceAudience

    InterfaceAudience 类包含三个注解类型,用来被说明被他们注解的类型的潜在的使用范围(audience).@InterfaceAudience.Public: 对所有工程和应用可用@In ...

  6. Smart3D系列教程3之 《论照片三维重建中Smart3D几个工作模块的功能意义》

    [摘要] 近年来,倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术,利用照片进行三维重建成为一项关键性的技术.Smart3D软件,是照片三维重建主流软件之一,本文将就Smart3D建模软件 ...

  7. 【noip 2016】 蚯蚓(50分)(earthworm)

    50分小程序,写了2天- 题目在这里 一个单调队列,写的都是p=0的点,考试的时候要是弄到这些分的话--不说了-- 羡慕AC的神犇啊,54行的满分程序,而我-- #include <iostre ...

  8. mongodb分片配置

    通过YUM库自动安装Mongodb 手动安装配置mongodb 验证mongodb主从复制过程 验证mongodb副本集并实现自动切换 实验mongodb使用gridfs存放一个大文件 1.创建数据目 ...

  9. STL之关联容器

    关联容器包含map.set.multimap.multiset. 关联容器的特点是明显的,相对于顺序容器,有如下特点: 1.其内部是采用非线性的二叉树结构,具体的说是红黑树的结构原理实现的. 2.se ...

  10. 方维 o2o app源码出售

    方维 o2o app源码出售 方维o2oapp源码出售 1.本人官方5万购买,现把方维o2o app 源码低价出售: 2.包括网站源码本地搭建包成功提供指导 3.包括网站说明文档,不包含app说明文档 ...