设置vue数据:对象值

时间:2018-11-04 16:08:21

标签: javascript vue.js vuejs2

我有Vue.ja应用程序,并且尝试更改对象内的值。基本上,当发生@ change =“ onfilechangev”时,我想更新名称:''value 有什么方法可以执行此操作,或者因为它是我将无法更新的对象?

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', )
    },

感谢您的回答。我已经尝试过但没有运气。我已经根据自己的情况修改了下面的codeandbox。 https://codesandbox.io/s/736nqq6070 很少解释:我已经动态添加了带有可选个人资料图片上传的字段。因此,当我添加了3个团队成员时,我想将其保存在后端带有Laravel的数据库中。如果我选择图像,则将该文件推送到selectedFile数组(它可以工作),但是由于配置文件图片仅是可选的,而不是必需的,因此我需要知道teamemeber是否具有图像。这就是为什么我尝试设置隐藏的输入字段文件名的原因。所以在后端,我可以检查selectedField数组是否包含文件名(如果是),那么我可以将图像保存到成员。

2 个答案:

答案 0 :(得分:1)

由于您只修改了数组成员的现有属性,因此甚至不需要使用Vue.set

一个简单的this.team[0].name = pic就足够了,请检查此沙箱: https://codesandbox.io/s/l2ky6rkx0l

关于反应性的JS限制仅适用于重新分配数组元素添加新的根属性,您都不是这种情况。

答案 1 :(得分:0)

到目前为止,它改进了很多,现在唯一的,我认为最后一个问题是如何将事件和索引传递给onfilechangev();。 这是codeandbox:https://codesandbox.io/s/736nqq6070