У меня проблема в Vue. js 2.0. Я заметил это, когда я удалил элемент из массива. Будет запущено глубокое наблюдение за компонентом, и будет сброшено значение каждого компонента после индекса удаленного элемента.
У меня есть компонент Filter Modal. Этот модальный компонент фильтра имеет опции фильтров различного типа. У него есть кнопка удаления, которая вызовет deleteFilter (index);
function deleteFilter(index) {
this.filters.splice(index, 1);
}
this.filters - переменная массива, которая содержит выбранные фильтры.
И у меня есть компонент внутри модального фильтра, который является выбранным фильтром.
В модальном фильтре выбран фильтр, и для него выбрано v-значение фильтра. 1012 *
<filterselected>
v-for='selectedFilter, index) in filters'
:index='index'
</filterselected>
В выбранном фильтре имеются глубокие данные о его данных (). Это глубокое наблюдение за фильтром выбранного компонента, в основном используется для установки this.inputValue с передачей данных из события наблюдения. И будет отправлять обратно или будет отправлять значение родительскому компоненту.
ОСНОВНАЯ ПРОБЛЕМА
Таким образом, основная проблема заключается в том, когда я удалил элемент из массива ( this.filters), событие глубокого наблюдения будет запущено и установит this.inputValue со значением null или undefined или idontknow, а затем будет отправлено родительскому компоненту. Таким образом, когда будет проходить нулевое / неопределенное значение или значение idontknow, и если тип фильтра - фильтр выбора даты, тогда значение datepicker будет равно «NAN», потому что datepicker не может содержать подобное значение.
Так как предотвратить это?
ОБНОВЛЕНИЕ:
Пример события наблюдения
Watch: {
date: {
handler(val){
this.inputValue = val;
},
deep: true
},
inputValue: function(){
this.$emit('changeinput', { value: this.inputValue }
}
}
Я заметил, что когда я При удалении элемента из массива будет запущено событие глубокого наблюдения (дата), и будет получено нулевое / неопознанное значение, для которого будет установлено значение this.inputValue.
Затем, если значение установлено на this.inputValue, также есть событие наблюдения, которое будет инициировано после, и эти часы передадут значение родительскому компоненту