доступ к объекту с помощью bracket vuejs

#vue.js

#vue.js

Вопрос:

У меня есть такая функция, что:

  field_validator(rule, value, callback) {
    this.form.setFieldsValue({ [rule.field]: null })
 }
 

Я не смог создать подобный объект { rule.field: null } и вместо этого должен был использовать скобки вокруг него. Почему это так?

Ответ №1:

Мы получаем доступ к свойству объекта с помощью . [] обозначения или :

 let user={
  name:'...',
  address:{
     city:'...',
     postCode:'...'
   }
}
 

мы могли бы получить доступ к имени пользователя с помощью user.name="" или user['name']="" , обозначение [] полезно, когда мы хотим получить доступ к свойству объекта динамически, то же самое применяется к вложенным свойствам, например, мы могли бы сделать :

 let user={
  name:'...',
  address:{
     ['city']:'some city',
     postCode:'...'
   }
}
 

или

 let someProp='city'
let user={
  name:'...',
  address:{
     [someProp]:'some city',
     postCode:'...'
   }
}
 

это называется вычисляемыми именами свойств