установить данные vue: значение объекта - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть приложение Vue.ja, и я пытаюсь изменить значение внутри объекта. Обычно, когда происходит @ change = "onfilechangev", я хотел бы обновить значение name: '' Есть ли способ сделать это или как объект, который я не смогу обновить?

app.js

var vm = new Vue({
  el: '#regapp',
  data: {
       team:[
         {
           img: '',
           name: '',
          }
     ],
    },

methods: {
     onfilechangev(event) {
     let uploads = event.target.files[0]
     let pic = uploads.name;
     Vue.set(vm.team.name, 'pic', )
    },

Спасибо за ответы. Я пытался сделать это, но не повезло. Я изменил коды и поле ниже в моей ситуации. https://codesandbox.io/s/736nqq6070 Небольшое объяснение: я динамически добавил поля с возможностью загрузки изображения профиля. Поэтому, когда я добавил, например, 3 члена команды, я бы хотел сохранить их в базе данных с Laravel на сервере. если я выбираю изображение, я помещаю этот файл в массив selectedFile (это работает), но поскольку изображение профиля только необязательно и не требуется, мне нужно знать, есть ли у teamemeber изображение или нет. Вот почему я пытаюсь установить скрытое поле ввода имени файла. поэтому на заднем плане я могу проверить, что массив selectedField содержит имя файла, если да, то я могу сохранить изображение в элемент.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Пока что он значительно улучшился, теперь единственная, и я думаю, последняя проблема - как передать событие и индекс в onfilechangev (); Вот коды и поле: https://codesandbox.io/s/736nqq6070

0 голосов
/ 04 ноября 2018

Поскольку вы изменяете только существующее свойство члена массива , вам даже не нужно использовать Vue.set.

Достаточно простого this.team[0].name = pic, проверьте эту песочницу: https://codesandbox.io/s/l2ky6rkx0l

Ограничения JS, касающиеся реактивности, применяются только к переназначению элемента массива или с добавлением нового корневого свойства , что не относится к вашим случаям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...