VUE.js - Обработка одного элемента в цикле

D
На сайте с 01.02.2016
Offline
38
211

Здравствуйте. Скажите, как обратиться к одному элементу в массиве с помощью цикла. Я реализовал практически, но почему-то событие происходит на всех элементах, а не на том, на котором я совершаю событие.

<div class="item" v-for="(it, index) of info">

<label>{{it.name}} </label>

<span :class="{db: isDblock}">Больше 7 символов</span>

<input :type="it.type" v-model="it.value" v-on:input="request(index)">

</div>

info: [ {

name: 'Email',

value: '',

type: 'text'

},

{

name: 'Last Name',

value: '',

type: 'text'

},

{

name: 'Phone',

value: '',

type: 'text'

},

{

name: 'Password',

value: '',

type: 'password'

},

{

name: 'Your Number',

value: '',

type: 'text'

},

],

isDblock: false,

methods: [ request(index) {

if(this.info[index].value.length !== '') {

this.isSkolko +=10;

this.isBlock = false;

} else{

this.isDblock = true;

this.isBlock = true;

}

},

]

SC
На сайте с 06.11.2019
Offline
0
#1

Здравствуйте, из написанного в старт-посте предполагаю что Вы пытаетесь реализовать валидатор формы, посмотрите документацию https://ru.vuejs.org/v2/cookbook/form-validation.html в ней описан более правильный пример реализации. Если же Вы хотите обратиться к определенному элементу массива, один из способов использование условного оператора v-if="".

Удачи и успехов!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий