watch侦听器

1、什么是watch侦听器?

watch侦听器允许开发者监视数据的变化,从而针对数据的变化做特定的操作
语法格式如下:

<body>
    <div id="app">
        <input type="text" v-model="username">
    </div>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
        const vm = new Vue({
            el:'#app',
            data:{
                username:''
            },
            // 所有的侦听器,都应该被定义到watch节点下
            // 侦听器本质上是一个函数,要监视那个数据的变化,就把那个数据名作为方法名即可
            watch:{
                // 监听username值的变化
                // newVal是“变化后的新值”,oldVal是“变化之前的旧值”
                // 新值在前,旧值在后
                username(newVal,oldVal){
                    console.log('监听到了username值的变化',newVal,oldVal);
                }
            }
        })
    </script>
</body>

2、使用watch检测用户名是否可用

监听username值的变化,并使用axios发起Ajax请求,检测当前输入的用户名是否可用。

watch: {
          // 监听username值的变化
          async username(newVal) {
          if (newVal === '') return
          const { data: res } = await axios.get('https://www.escook.cn/api/finduser/' + newVal)
                    console.log(res);
              }
        }

3、定义对象格式的侦听器

<script>
        const vm = new Vue({
            el:'#app',
            data:{
                username:''
            },
            watch:{
                // 定义对象格式的侦听器
                username:{
                    // 侦听器的处理函数
                    handler(newVal,oldVal){
                        console.log(newVal,oldVal);
                    },
                    // immediate选项的默认值是false
                    // immediate的作用是:控制侦听器是否自动触发一次
                    immediate:true
                }
            }
        })
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容