我目前正在从dom中读出一个语言设置,并将其设置为global
Vue.js变量,如下所示:
const language = document.querySelector('html').getAttribute('lang');
Vue.prototype.$language = language;
它工作正常,但我也从Vue.js事件总线中看到了这个例子:
Object.defineProperties(Vue.prototype, {
$bus: {
get() {
return EventBus;
}
}
});
这两者之间真正的区别是什么?是否有更优选的方法可以做到这一点?
答案 0 :(得分:3)
Object.defineProperties 。
但在你的情况下使用 Vue.prototype。$ language = language; 将是更清洁的方法。
如果您正在寻找Vue首选方式,这是向Vue实例添加实例属性的guide。