首页 文章

Vue watch v-model属性只触发一次

提问于
浏览
0

我有一个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: []
    }
},

一切正常,除了用于android的chrome,其中watch触发器只触发一次(当 query"" 更改为我写的任何内容时) .

任何的想法?

编辑:

这个问题似乎与 v-model 指令有关:我用原生javascript事件进行了一些实验,直到我对输入失去焦点时才更新v-model的值 . 如果有人对此感兴趣是绑定:

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

有什么方法可以使用 Watch 和 v-model 来解决这个问题?

1 回答

  • 2

    这似乎是 v-model 的一个错误 . 因为 v-model 只是一个语法糖 . 我认为您可以使用下面的代码使其工作 .

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

相关问题