vue小总结
以下是我在使用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小总结的更多相关文章
- Vue.js起手式+Vue小作品实战
本文是小羊根据Vue.js文档进行解读的第一篇文章,主要内容涵盖Vue.js的基础部分的知识的,文章顺序基本按照官方文档的顺序,每个知识点现附上代码,然后根据代码给予个人的一些理解,最后还放上在线编辑 ...
- 一个基于ES6+webpack的vue小demo
上一篇文章<一个基于ES5的vue小demo>我们讲了如何用ES5,vue-router做一个小demo,接下来我们来把它变成基于ES6+webpack的demo. 一.环境搭建及代码转换 ...
- 一个基于ES5的vue小demo
由于现在很多vue项目都是基于ES6开发的,而我学vue的时候大多是看vue官网的API,是基于ES5的,所以对于刚接触项目的我来说要转变为项目的模块化写法确实有些挑战.因此,我打算先做一个基于ES5 ...
- Vue小项目二手书商城:(四)详情页和购物车(emit、prop、computed)
实现效果: 点击对应商品,对应的商品详情页出现,详情页里面还有“Add to cart”按钮和“×”退出按钮. 点击“Add to cart”可以将商品加入购物车,每件商品只能添加一次,如果把购物车的 ...
- Vue小项目二手书商城:(三)前端渲染数据
实现内容: axios取到的数据在前端使用(父子组件各自应该怎么使用) 一.简单使用(在哪取在哪用) 1.在App.vue中script中加上data(data专属于当前组件,父子组件传参通过prop ...
- Vue小项目二手书商城:(二)axios前后端数据交互
实现内容: 写路由接口(express) axios取数据 一.写接口 1.我们要在前端取到后端的数据(之前写的data.json)可以用vue-resourse或者用axios,在vue2之后官方就 ...
- Vue小项目二手书商城:(一)准备工作、组件和路由
本项目基于vue2.5.2,与低版本部分不同之处会在(五)参考资料中提出 完整程序:https://github.com/M-M-Monica/bukesi 实现内容: 资源准备(mock数据) 组件 ...
- VUE小练习(按钮颜色,数组映射)
VUE小练习(按钮颜色,数组映射) ## 1.有红.黄.蓝三个按钮,以及一个200x200矩形框box, 点击不同的按钮,box的颜色会被切换成指定的颜色 ''' 解法一:我本来的思路,把三个按钮绑定 ...
- vue小故事之父子(上下级)通信之父传子props
vue小故事之父子(上下级)通信之父传子props vue 父子(上下级)通信 props 或许你对父子通信有点迷糊,为什么这样那样父子之间就可以通信了,以下通过一个小故事来进行解说,故事模型或许有 ...
随机推荐
- java工厂模式
(1)概念大白话:java工厂模式就是客户端(main函数)要创建对象觉得麻烦就让另外一个叫工厂的类帮它创建,然后自己每次要创建对象就叫工厂帮它弄,举个例子,在没有工厂这个"手下" ...
- OCIEnvNlsCreate 失败,返回代码为 -1,但错误消息文本不可用
通过Navicat for Oracle能连接成功,增删改查正常,可一用到ADO.NET就报这个错误. 原来我一开始是用“管理员”方式安装的Client,后来用“InstantClient”方式重装就 ...
- 弱省互测#2 t3
题意 给出\(n\)个01字节和\(m\)个01字节,要求用后者去匹配前者,两个串能匹配当且仅当除了每个字节末位不同,其他位都要相同.问匹配后者至少有多少个末位不同.(\(1 \le m \le n ...
- BZOJ4262: Sum
Description Input 第一行一个数 t,表示询问组数. 第一行一个数 t,表示询问组数. 接下来 t 行,每行四个数 l_1, r_1, l_2, r_2. Output 一共 ...
- 纯CCS绘制三角形箭头图案
用CSS绘制三角形箭头.使用纯CSS,你只需要很少的代码就可以创作出各种浏览器都兼容的三角形箭头! CSS代码: /* create an arrow that points up */ div.ar ...
- 【Telerik】查询控件<telerik:RadMaskedTextBox>的使用
在SilverLight项目中,实现模糊查询,并将值绑定到列表中,使用了Telerik中的<telerik:RadMaskedTextBox>控件. 要先添加命名空间的引用: xmlns: ...
- 输入/输出系统的四种不同工作方式对CPU利用率比较
程序控制工作方式:输入/输出完全由CPU控制,整个I/O过程中CPU必须等待其完成,因此对CPU的能力限制很大,利用率较低 程序中断工作方式:CPU不再定期查询I/O系统状态,而是当需要I/O处理时再 ...
- 【Beta】Daily Scrum Meeting第四次
1.任务进度 学号 已完成 接下去要做 502 修复和完善任务列表界面:将几个数据库操作封装起来 登陆时将返回的个人信息更新到本地数据库 509 创建报课表的API 给所有api添加注释:发布任务到服 ...
- 深入理解javascript系列(4):立即调用的函数表达式
本文来自汤姆大叔 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行. 在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法 ...
- ubuntu14.04 安装 hadoop2.4.0
转载:ubuntu搭建hadoop-Ver2.6.0完全分布式环境笔记 自己在搭建hadoop平台时,碰到一些困难,按照该博文解决了问题,转载一下,作为记录. 2 先决条件 确保在你集群中的每个节点上 ...