vue 中 Vue.prototype 详解及使用

前言:

我们可能会在很多组件里用到数据/实用工具,但是不想污染全局作用域。这种情况下,可以通过在原型上定义它们使其在每个 Vue 的实例中可用。

1. 基本示例
  • 在main.js中添加一个变量到 Vue.prototype
Vue.prototype.$appName = 'My App'
  • 这样 $appName 就在所有的 Vue 实例中可用了,甚至在实例被创建之前就可以
 beforeCreate: function () {
   
    console.log(this.$appName)
 }
  • 控制台会打印出 My App
2. 为实例prototype设置作用域
  • 为什么 appName 要以 $ 开头?
  • $ 是在 Vue 所有实例中都可用的 property 的一个简单约定。这样做会避免和已被定义的数据、方法、计算属性产生冲突。
  • 如果我们设置:
Vue.prototype.appName = 'My App'
export default {
   
  data(){
   
    return{
   
      appName:'组件实例中的appName'
    }
  },
  beforeCreate: function () {
   
    console.log(this.appName)
  },
  created: function () {
   
    console.log(this.appName)
  },
}
</script>

  • 日志中会先出现 “My App”,然后出现 “组件实例中的appName”,因为 this.appName 在实例被创建之后被 data 覆写了。我们通过 $ 为实例 property 设置作用域来避免这种事情发生。
使用示例
  • 在main.js 中进行全局挂载
Vue.prototype.$bus = new Vue()
  • 在vue页面中进行使用
/**  发射事件,绑定事件  hidePlayVideo 一致*/
this.$bus.$emit('hidePlayVideo',true)

/** 监听创建的事件 */
this.$bus.$on("hidePlayVideo", value => {
   
  this.palyVideo = value
})

相关推荐

  1. vue Vue.prototype 详解使用

    2024-02-23 00:00:02       52 阅读
  2. vue$refs的用法作用详解

    2024-02-23 00:00:02       45 阅读
  3. 企业 Docker 的 Swarm 使用作用详解

    2024-02-23 00:00:02       47 阅读
  4. C++匿名对象介绍使用场景详解

    2024-02-23 00:00:02       33 阅读
  5. 详解Vue3如何使用动态组件

    2024-02-23 00:00:02       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 00:00:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 00:00:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 00:00:02       82 阅读
  4. Python语言-面向对象

    2024-02-23 00:00:02       91 阅读

热门阅读

  1. VueTreeselect 只能选择末级节点

    2024-02-23 00:00:02       51 阅读
  2. Vue源码系列讲解——生命周期篇【二】(new Vue)

    2024-02-23 00:00:02       46 阅读
  3. Oracle数据库批量变更字段类型

    2024-02-23 00:00:02       46 阅读
  4. C# TCP/IP协议

    2024-02-23 00:00:02       53 阅读
  5. 2024年开发踩坑记录

    2024-02-23 00:00:02       46 阅读
  6. C语言技巧总结(自用)

    2024-02-23 00:00:02       55 阅读
  7. Web基础

    Web基础

    2024-02-23 00:00:02      54 阅读
  8. 深入理解Python爬虫的Response对象

    2024-02-23 00:00:02       55 阅读
  9. P5719 【深基4.例3】分类平均

    2024-02-23 00:00:02       54 阅读
  10. 开源软件的影响力

    2024-02-23 00:00:02       48 阅读