vue - provide/inject

//父组件

html:

<el-button type="primary" @click="changePro">点我糖糖++</el-button>

  <p>父组件<i class="el-icon-user-solid"></i>:这是几个糖糖?</p>

  <i class="el-icon-lollipop" v-for="index of screenObj.count"></i>

js:

provide () { // 将datas属性提供给子孙组件

  return {

    grandpaData: this.screenObj

  }

methods:{

    changePro(){

      this.screenObj.count++

    }

  },


子孙组件:
inject: ['grandpaData'], // 接收父组件注入的内容

  watch: {

      grandpaData: {

          handler (value) {

            this.screenWidth = value.count // 可以监听到clientWidth的改变

          },

          immediate: true,

          deep: true

      }

  },

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容