Vue реактивность , двухстороннее связывание

421
07 июля 2017, 08:29

Есть 2 массива :

data: {
        b: [
          [3,3],
          [4,4]
        ],
        a: [1,2],
           result:[],
        },

Нужно что бы получилось :

[
  [3,3,1],
  [3,3,2],
  [4,4,1],
  [4,4,2]
]

Из-за связывания я так понял получается:

[
  [3,3,1,2],
  [3,3,1,2],
  [4,4,1,2],
  [4,4,1,2]
]

Как с этим бороться ? Ссылка на JsFiddle

Answer 1

С Vue никогда не работал, но в вашем JS Fiddle подправил немного обработчик клика и получил нужный масив...

let workBox = new Vue({ 
  el: "#workBoxesApp", 
  data: { 
    b: [ 
      [3, 3], 
      [4, 4] 
    ], 
    a: [1, 2], 
    result: [], 
  }, 
  methods: { 
    click: function() { 
      let tmpArr = []; 
      for (let i = 0; i < this.b.length; i++) { 
        for (let j = 0; j < this.a.length; j++) { 
          let tmpB = this.b[i].slice(); 
          tmpB.push(this.a[j]); 
          tmpArr.push(tmpB); 
        } 
      } 
      this.result = tmpArr; 
    }, 
  } 
});

READ ALSO
Javascript Сортировка массива/Вывод списка

Javascript Сортировка массива/Вывод списка

в массиве у меня список городов и областей вот пример вывода:

373
Поиск по массиву JavaScript

Поиск по массиву JavaScript

У меня имеется массив на JS содержащий в себе числовые значения:

340
props to options react apollo

props to options react apollo

Нужно передать userID которая поступает в компонент из вне через props в переменную в запросе USER_QUERYПриведенный ниже пример не работает, как все...

241
onclick срабатывает один раз

onclick срабатывает один раз

почему onclick один раз срабатывает )в форме если что добавляется textarea потом как нажимается крестик чтобы закрыть формуудаляется и textarea )я уже...

511