У меня проблемы с вычисляемым свойством в Vue.js, используемом в v-if.Не могу найти способ решить или изменить это.Некоторые указания приветствуются.
Контекст: Я отображаю различные элементы из массива (созданного с помощью Axios), и в каждом элементе div шаблона я получаю значение для одного элемента этогомассив.Работает без проблем.
Проблема: Некоторые элементы массива пусты, и для них я бы хотел либо ничего не отображать, либо, в некоторых случаях, отображать альтернативный div с общим содержимым.И вот тут у меня проблема.Я использую вычисленное свойство, чтобы проверить, является ли элемент массива нулевым или нет.Затем я использую это вычисленное в v-if.
Код: (это случай с альтернативным содержимым)
methods: {
getItem() {
axios.get('http://4.4.4.4/api/table?&filter[where][name]=' + this.txtInput).then(response => {
this.items = response.data
})
this.txtInput=''
}
}
На вычисляемое свойство влияет второй ответ здесь ):
computed: {
nonNullArticle: function() {
return this.items.filter(i => i.article !== null)
}
}
А в шаблоне:
<div v-if="nonNullArticle">
<div v-for="item in nonNullArticle">{{ item.article }}</div>
</div>
<div v-else>
<p>alternate content</p>
</div>