mt-checklist 的 bug 解疑 及 防止 this 指针偏移
1.今天在使用 mt-checklist 时,发现 绑定 change 方法后,第一次点击返回的值为 空数组

<template>
<div id="app">
<mt-checklist
title="复选框列表"
v-model="value"
align="right"
:options="options"
@change="checkon">
</mt-checklist>
</div>
</template> <script>
export default {
name: 'Test',
data () {
return {
//存放所选选项
value:[],
//checklist设置
options : [{
label: '选项A',
value: 'A'
},
{
label: '选项B',
value: 'B'
},
{
label: '选项C',
value: 'C'
},
{
label: '选项D',
value: 'D'
}]
}
},
methods:{
checkon: function(){
console.log(this.value)
}
}
}
</script> <style> </style>
原因:
版本2 中 抛弃了 change 方法,需要通过 watch 进行监听。
解决方案:
watch 监听数据变化

<template>
<div id="app">
<mt-checklist
title="复选框列表"
v-model="value"
align="right"
:options="options">
</mt-checklist>
</div>
</template> <script>
export default {
name: 'Test',
data () {
return {
//存放所选选项
value:[],
//checklist设置
options : [{
label: '选项A',
value: 'A'
},
{
label: '选项B',
value: 'B'
},
{
label: '选项C',
value: 'C'
},
{
label: '选项D',
value: 'D'
}]
}
},
watch:{
value:function(val,oldvalue) {
console.log(val);
}
},
methods:{ }
}
</script> <style> </style>
2.this 指针偏转
通过
let _this = this;
解决。
例如:
methods:{
  // 赋值,防止this指针改变
  let _this = this;
  // 重写checkBoxList
  this.nextStep.forEach(function(val,index,arr){
    _this.checkBoxList[index] = [];
    val.forEach(function(v,i,a){
      _this.checkBoxList[index][i] = {};
      _this.checkBoxList[index][i].label = v.name;
      _this.checkBoxList[index][i].value = v.objectId;
    });
  });
}
3.动态生成 两个mt-checklist 如何同时获得两个cheklist的值?
步骤一:获取当前列表序号

步骤二:对指定的 DOM 元素进行操作

也可以写为:


.
mt-checklist 的 bug 解疑 及 防止 this 指针偏移的更多相关文章
- 常见浏览器bug(针对IE6及更低版本)及其修复方法
		常见bug及其修复方法有以下几种 1.双外边距浮动bug 双外边距浮动bug在IE6及更低版本中常见.所谓双外边距浮动bug是指使任何浮动元素上的外边距加倍.(见下图) 只要将元素的display属性 ... 
- input屏蔽历史记录    ;function($,undefined) 前面的分号是什么用处   JSON 和 JSONP 两兄弟   document.body.scrollTop与document.documentElement.scrollTop兼容    URL中的#      网站性能优化    前端必知的ajax    简单理解同步与异步    那些年,我们被耍过的bug——has
		input屏蔽历史记录 设置input的扩展属性autocomplete 为off即可 ;function($,undefined) 前面的分号是什么用处 ;(function($){$.ex ... 
- HEAP[xxx.exe]:Invalid Address specified to RtlValidateHeap 错误的解决方法总结
		一.情况 抽象出问题是这样的: class DLL_API1 A { func() { vector vec; B b; b.func(vec); return TRUE; } } 其中B是另一个导出 ... 
- Codeforces Round #222 (Div. 1) B. Preparing for the Contest 二分+线段树
		B. Preparing for the Contest 题目连接: http://codeforces.com/contest/377/problem/B Description Soon ther ... 
- Cocos2d-x不要随便在onEnter里面addChild
		使用任何版本的Cocos2d-x(1.x,2.x,3.0),在onEnter中调用addChild,都要小心谨慎,因为它有可能导致两种莫名其妙的BUG,莫名其妙的BUG当然难以定位了!更何况这个BUG ... 
- 高质量C++/C编程指南(林锐)
		推荐-高质量C++/C编程指南(林锐) 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐 2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐 20 ... 
- 第63课 C语言异常处理
		1. 异常的概念 (1)程序在运行过程中可能产生异常 (2)异常(Exception)与Bug的区别 ①异常是程序运行时可预料的执行分支 ②Bug是程序是的错误,是不被预期的运行方式 2. 异常和Bu ... 
- C++自问自答
		1.为什么派生层次上的类,同一个虚函数在各个类的虚表中的位置一样? 因为:对虚函数的调用是通过虚指针+偏移地址构成,由于对虚函数的调用都是通过这种方式,所以对同一个虚函数的偏移值就必须 ... 
- 高质量C++[转]
		高质量C++/C编程指南 文件状态 [ ] 草稿文件 [√] 正式文件 [ ] 更改正式文件 文件标识: 当前版本: 1.0 作 者: 林锐 博士 完成日期: 2001年7月24日 版 本 ... 
随机推荐
- windows :Tomcat免安装版环境变量配置 + jdk配置
			1. 下载后解压,我解压的目录为:D:\Tomcat\apache-tomcat-9.0.1-windows-x64 2. 安装jdk和jre, 并配置环境变量: 2.1 用户变量新建JAVA_H ... 
- AtCoder Regular Contest 091
			数学场,做到怀疑人生系列 C - Flip,Flip, and Flip...... Time limit : 2sec / Memory limit : 256MB Score : 300 poin ... 
- Pandas对多列进行升降序排列
			df = pd.DataFrame(rows, columns = ["llx", "lly", "urx", "ury" ... 
- Scrum基础知识图谱
			啰嗦一下 最近在学习scrum项目管理的知识,书上知识点分散,很难有整体的视角来看scrum有哪些核心知识,故制作了思维导图,望给和我一样容易迷失的人一样,起到一个指引作用,废话不多说,直接上图 图谱 
- 硅谷和国内的 iOS 开发到底有何不同?
			前段时间在国内各大互联网公司转了一圈.与各位 iOS 业界大佬交流了之后,深感国内变化之大,敬佩诸位国内开发者的实力和韧劲.除此之外,我还发现硅谷和国内的 iOS 开发还是差别很大,且听我慢慢道来. ... 
- 刷题总结———长跑路径(ssoj1982)
			题目: 给定一个无向图···求特定几个点中两两间的最短路中的最小值····其中1≤N,M≤100000:T≤5:1≤K≤n:1≤边长≤100000,T为一个测试点的测试数··k为测试点数量 题解: 我 ... 
- storage存储对象和数组类型时候的问题
			storage类型存储的类型为字符串,直接使用localstorage.setItem方法存储进去,取出来的时候数据是不能够使用的 解决方法: 先使用JSON.stringify方法转换成为字符串,然 ... 
- 病毒(bzoj 2938)
			Description 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码 ... 
- 模仿手机qq空间头部向上滚动颜色加深
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
			ubuntu上安装Apache2时出现错误 Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0: ... 
