..._handler(val,oldval){">
当前位置:   article > 正文

vue侦听器_handler(val,oldval){

handler(val,oldval){
侦听器用于监听数据变化并执行指定操作。
为了监听对象内部值的变化,需要将 watch 书写为对象,并设置
选项 deep: true,这时通过 handler 设置处理函数。

 

注意:当更改(非替换)数组或对象时,回调函数中的新值与旧
值相同,因为它们的引用都指向同一个数组 、对象。
• 注意:数组操作不要使用索引与length,无法触发侦听器函数。
<div id="app">
    <input type="text" v-model="value">
  </div>
  <script src="lib/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        value: ''
      },
      watch: {
        value () {
          console.log('侦听器执行了');
        }
      }
    })
var vm = new Vue({
      el: '#app',
      data: {
        title: '这是内容',
        obj: {
          content1: '内容1',
          content2: '内容2'
        },
        arr: [1, 2, 3, 4, 5]
      },
      watch: {
        title (val, oldVal) {
          console.log('title 被修改了', val, oldVal);
        },
        /* obj () {
          console.log('obj 被修改了');
        } */
        obj: {
          deep: true,
          handler (val, oldVal) {
            console.log('obj 被修改了', val, oldVal);
            console.log(val === oldVal);
          }
        },
        arr (val, oldVal) {
          console.log('arr 修改了', val, oldVal)
        },
        /* arr: {
          deep: true,
          handler (val, oldVal) {
            console.log('arr 修改了', val, oldVal)
          }
        }  */
      }
    });
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/113185
推荐阅读