亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

此處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 關注
  • 1072 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號