Vue 使用lodash库减少watch对后台请求压力

lodash需要新引入

我使用的是npm方式

使用lodash的_.debounce方法

具体代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue.js 使用lodash库减少watch对后台请求压力 </title>
    <script src="vue.js"></script>
    <script src="node_modules/axios/dist/axios.js"></script>
    <script src="node_modules/lodash/lodash.js"></script>
</head>
<body>
<div id="ask"><!--vue不能控制body和html的标签-->
    <input type="text" v-model="word">
    <h1>{{result}}</h1>
</div>
<script>
    var app = new Vue({ //实例化vue
        el:'#ask',//vue控制id为ask的元素,
        //watch 可以监听多个变量
        watch:{
            //监听word变量
            word:_.debounce(function (newV,oldV) {
                console.log('旧值:'+oldV+'=======>新值:'+newV);
                //这里可以写异步请求我用的是axios
                axios.get('Api.php?word='+newV).then(function (res) {
                    console.log(res,'这是异步返回的值');
                    //这里写异步得到值之后的动作
                    app.result=res.data;
                });
            },3000)
        },
        data:{
            word:'',
            result:''

        }
    });
</script>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/tommymarc/p/11627438.html