V模型属性上的Vue监视仅触发一次

时间:2018-06-28 09:10:27

标签: javascript vue.js lodash watch v-model

我有一个Vue组件,它与报告的here示例非常相似:

watch: {
    query(n, o) {

        // Display loading animation
        this.loading = true;

        // Search debounced
        this.debouncedSearchUser();
    }
},

其中query是一个绑定到使用v-model输入的文本的String变量:

data() {

    return {
        query: "",
        loading: false,
        results: []
    }
},

一切正常,除了在适用于chrome的android系统上,监视触发器仅触发一次(当query""更改为我编写的内容时)。

有什么主意吗?

编辑:

该问题似乎与v-model指令有关:我对本机javascript事件进行了一些实验,直到我取消关注输入后,才会更新v-model的值。如果有人对绑定感兴趣:

<input v-model="query" class="input-text-light pad-s-m f-m"/>

使用手表和v-model解决此问题的任何方法吗?

1 个答案:

答案 0 :(得分:2)

这似乎是v-model的错误。由于v-model只是语法糖。 我认为您可以使用下面的代码使其正常工作。

<input v-bind:value="query" v-on:input="query = $event.target.value"></input>