为了账号安全,请及时绑定邮箱和手机立即绑定

此处vue.js的methods中,this[attr]是什么用法

此处vue.js的methods中,this[attr]是什么用法

江户川乱折腾 2019-03-01 14:09:56
组件template:<my-dialog :is-show="isShowLogDialog" @click="closeDialog('isShowLogDialog')"></my-dialog>组件引入:import MyDialog from './base/dialog'组件data:data () {    return {      isShowLogDialog: false,    }组件methods: methods: {    closeDialog (attr) {      this[attr] = false },请问:这里methods里的this[attr]是什么用法?官方文档没找着,这个this也是指代vue实例对象吧
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

this[attr], 其实是原生js 里面获取对象属性的方法,或者给对象属性赋值。

获取对象属性有点方法和中括号方法.

中括号法可以用变量作为属性名,点方法旧不可以,即:


var objVue = {};

objVue.isShowLogDialog  = false;

var arg = 'isShowLogDialog'    // 这里就可以代表传入的任何参数 

console.log(objVue.arg)    // undefined

console.log(objVue[arg])   // false;

《高程3》里面 记得推荐使用 点方法,效率高


查看完整回答
反对 回复 2019-03-05
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

这里的attr就是data 对象的某个key

比如 问题中的 isShowLogDialog

一般写成:this.isShowLogDialog=false
但如果这个 attr 想动态传参,就不能用 . 而只能用[] 
于是就只成this[attr]=false;


查看完整回答
反对 回复 2019-03-05
  • 2 回答
  • 0 关注
  • 1115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号