2017-02-21 21 views
0

Мне было интересно, можно ли установить свойство в шаблоне v-for. В частности, story.verifyDelete нет в исходном массиве, но моя установка его на true при нажатии не активирует v-if="story.verifyDelete прямо над ним.Как установить свойство v-if из шаблона

<div v-for="story in stories"> 
    <div v-if="story.verifyDelete == true"> 
     <div>Are you sure you want to delete this story?</div> 
     <div @click="remove(story.id)">Delete</div> 
     <div @click="story.verifyDelete=false">Cancel</div> 
    </div> 
    <div @click="story.state == 'published' ? read(story) : edit(story)">{{ story.title }}</div> 
    <div @click="story.verifyDelete = true">Delete</div> 
</div> 
+0

Что делает ваш тест сказать вам? –

+0

Я не настроил никаких модульных тестов, если это то, о чем вы говорите. – dmr07

+0

Я имею в виду простое выполнение вашего кода. –

ответ

3

Объекты не реагируют обычными сеттерами = или [] в vue.

В обработчике щелчка на Delete DIV, вам нужно будет сделать набор для того, чтобы иметь VUE Обратите внимание на изменение значения

this.$set(this.story, 'verifyDelete', true) 

https://vuejs.org/v2/guide/reactivity.html