2017-02-15 17 views
0

Я создаю VUE (X) -app, который имеет дело с большим количеством массивов.VUE & VUEX: массивы в массивах - как их подключить

state: { 
    triads: [{ 
    people: [], 
    places: [], 
    equipment: [] 
    }] 
}, 

Я хочу иметь список трех списков, каждый с 1 полем ввода, чтобы добавить к каждому из трех списков. (Посмотрите необработанного пример кода HTML)

Необработанные HTML будет выглядеть следующим образом:

<div id="triads"> 
    <div class="triad"> 
    <div id="people"> 
     <input type="text"> 
     <button>add</button> 
     <ul> 
     <li>person 1</li> 
     <li>person 2</li> 
     <li>person 3</li> 
     </ul> 
    </div> 
    <div id="places"> 
     <input type="text"> 
     <button>add</button> 
     <ul> 
     <li>place 1</li> 
     <li>place 2</li> 
     <li>place 3</li> 
     </ul> 
    </div> 
    <div id="equipment"> 
     <input type="text"> 
     <button>add</button> 
     <ul> 
     <li>equipment 1</li> 
     <li>equipment 2</li> 
     <li>equipment 3</li> 
     </ul> 
    </div> 
    </div> 
</div> 

Я спрашиваю себя, как подключить его и сделать его динамичным.

Где бы вы хотели добавить директивы, чтобы заставить работать так, как вы ожидали?

ответ

0

Вы можете использовать v-for перечислить массивы, как это:

<div id="triads"> 
    <div class="triad"> 
    <div id="people"> 
     <input id="people-input" type="text"> 
     <ul> 
     <li v-for="p in person">{{p}}</li> 
     </ul> 
    </div> 
    <div id="places"> 
     <input id="places-input" type="text"> 
     <ul> 
     <li v-for="place in places">{{place}}</li> 
     </ul> 
    </div> 
    <div id="equipment"> 
     <input id="equipment-input" type="text"> 
     <ul> 
     <li v-for="e in equipment">{{e}}</li> 
     </ul> 
    </div> 
    </div> 
</div> 

Вы можете использовать v-on:click или @click с помощью кнопок и методов обработки вызовов, которые могут сделать желательно, чтобы это добавить значение в занесены в соответствующие массивы.

Что еще вам нужно?

+0

О, я вижу, я пропустил кнопки, позвольте мне добавить их. Теперь, что я хочу: я бы хотел, чтобы входы были добавлены, когда я нажимаю кнопки! – Timo

+0

Я хотел бы УВИДЕТЬ его, в коде, чтобы понять его. – Timo

+0

@Timo Пожалуйста, проверьте [это] (https://fiddle.jshell.net/2mu3L62m/). – Saurabh