villiwalla
@villiwalla
HTML-верстка

Как передать index во входной параметр, в VueJS 2.x?

Подскажите как при редеринге передать index элемента во входной параметр? Цель, получить idx элемента для передачи в метод удаления элемента из data объекта Vue.
То что сообщает Vue, совсем никак не наводит на решение или ошибку :((

Property or method "index" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option. (found in component )

<ul>
        <item :b="c" v-for="(c, index) in a">
            <slot name="check"></slot>
            <slot></slot>
            <slot name="del"></slot>
        </item>
    </ul>

var item = Vue.component('item', {
         props: ['b'],
         template: '<li>' +
         '<input type="checkbox" slot="check" @click="isStatus" v-model="b.is">' +
         '<span>{{ index }} :: {{ b.text }}</span>' +
         '<button slot="name" @click="delTodo(index)">X</button></li>'
};

var app = new Vue({
       el: '#wrapper',
       components:{
           'item': item
       },
        data: function () {
            return {
                newTodo: '',
                a: [
                    {text:'String 1', is: true},
                    {text:'String 2', is: true},
                    {text:'String 3', is: true},
                    {text:'String 4', is: false}
                ]
            }
        }
};
  • Вопрос задан
  • 467 просмотров
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Вам не нужен index для удаления. Просто удалите сам элемент: delTodo(b);
delTodo: function(e)
{
    this.a.$remove(e);
}


Еще можно сделать: delTodo($index)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы