Я пытаюсь определить, не были ли изменены данные модели в вычисленных данных Vue.
У меня есть два набора переменных, которые необходимо проверить перед вычислением: отфильтрованные элементы должны возвращать новый список или текущий список.
Ниже приведены два данных, которые я проверяю.
- текст (ввод текста)
- selectedInput (текущий выбранный элемент)
Текущее поведение:
Я изменил selectedInput на null, это обновляет Computed: filterList, чтобы сработать. что и ожидается.
Первое условие - убедиться, что это обновление возвращает текущий список, если text === selectedInput.text работает должным образом.
Однако мне нужно второе условие, чтобы определить, не изменился ли текст.
<input v-model="text" />
<ul>
<li v-for="item in filteredItems" @click="text=item.text"></li>
</ul>
{
data():{
text: 1,
items: [],
tempList: [],
selectedItem: {text: 1}
},
computed: {
filteredItems(){
// when selectedItem.text === current text input, do not run
if (this.selectedItem.text === text) return this.tempList;
// how do i detect if selectedItem.text has not been changed
if (this.selectedItem.text.hasNotChange??) return this.tempList;
}
}
}
Поток данных: 1 обновить текст> 2 список фильтров> 3 щелкнуть элемент списка, обновить (1) текст
- [ввод (текст): обновление по типу]>
- [li (filterItem): список фильтров по типу по значению (текст) и (selectedInput.text)]>
- [li (item) @click: update (1), а также другое значение (selectedInput.text) input (text) равным (item.text)]
Этот цикл работает до тех пор, пока я не буду действовать где-нибудь еще, обновляя selectedInput.text.
Могу ли я что-нибудь сделать с установщиком / получателем для модели Text.