添加实例 property
你可能会在很多组件里用到数据/实用工具,但是不想污染全局作用域。这种情况下,你可以通过在原型上定义它们使其在每个 Vue 的实例中可用。
Vue.prototype.$appName = 'My App'
这样 $appName
就在所有的 Vue 实例中可用了,甚至在实例被创建之前就可以。如果我们运行:
new Vue({
beforeCreate: function () {
console.log(this.$appName)
}
})
则控制台会打印出 My App
。就这么简单!
你可能会好奇:
这里没有什么。这样做会避免跟组件中和已被定义的数据、方法、计算属性产生冲突。
import
我们可以使用模块系统来进行替代 添加实例 property 的这个方案
当使用模块系统的时候,你可以轻松地把共享的代码组织成模块,然后把那些模块 require
/import
到任何你所需要的地方。这是一个典型的显式做法,因为在每个文件里你都能得到一份依赖清单。你可以准确地知道每个依赖的来历,这种方法确实是最可维护的,尤其是当和多人一起协作一个大型应用的时候。