Vue之处理边界情况

本文档介绍了Vue中处理边缘情况的方法,如访问根实例、依赖注入、循环引用及控制更新。通过$root访问根实例,$parent获取父组件,$refs用于访问子组件或元素,依赖注入实现跨层级数据共享。程序化事件监听允许动态添加和移除事件监听器,递归组件和组件间的循环引用需谨慎处理。此外,了解如何创建低开销的静态组件以优化更新性能。
摘要由CSDN通过智能技术生成

处理边界情况

All the features on this page document the handling of edge cases,meaning unusual situations that sometimes require bending Vue’s rules a little. Note however, that they all have disadvantages or situations where they could be dangerous.

特殊情况下的处理方式,有利有弊

1. 访问元素&组件

1.1 访问根实例(Accessing the Root Instance )

通过 this.$root 根实例

 // The root Vue instance
new Vue({
   
  data: {
   
    foo: 1
  },
  created:function(){
   
    
    // 【获取根组件的数据】
    console.log(this.$root.foo); 
    
    // 【写入根组件的数据】
    this.$root.foo = 2

    // 【访问根组件的计算属性】
    this.$root.bar;
  },
  computed: {
   
    bar: function () {
   
      alert('我是计算属性bar,只要有人访问我或者改变我的值,我就执行')
    }
  },
  methods: {
   
    baz: function () {
   
      alert('baz')
    }
  }
})

这种适合小型代码量时使用,中大型项目还是推荐用 Vuex来管理应用的状态:如下

用根实例获取状态 VSVuex管理状态
在这里插入图片描述
完整代码

1.2 访问父组件实例

Similar to $root, the $parent proper

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值