Vue2如何监听prototype(原型链)上的全局数据的问题

499次阅读
没有评论

问题:

vue2中要监听prototype(原型链)上的全局数据直接用watch监听$global.property是监听不到的。

解决办法:

可以在当前组件的data里声明一个变量global,然后值引用全局数据$global,然后监听这个变量global就可以了。具体如下:

// main.js

// ...
Vue.prototype.$global = {
  appName: null,
  // ...
}

const createApp = function (res) {
  new Vue({
    router,
    render: h => h(App)
  }).$mount('#app')
}

createApp();

监听:

// 组件.vue
export default {
 data(){
    return:{
        global:this.$global,
        // ...
    }
 },
  watch: {
    "global.appName": {
      handler: function (val, oldVal) {
        console.log('监听到了');
      }
    }
  }
}

 

facingscreen
版权声明:本站原创文章,由 facingscreen2023-05-22发表,共计429字。
转载说明:本文为搜栈网原创文章,除特殊说明外皆由CC-4.0协议发布,转载请注明出处,如有帮助欢迎打赏。
评论(没有评论)
验证码