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

465
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 Сортировка массива/Вывод списка

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

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

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

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

384
props to options react apollo

props to options react apollo

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

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

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

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

560