config.globalProperties 的 Vue3 应用程序初始化链接语法
Vue3 App Initialization chaining syntax with config.globalProperties
我用 Vue CLI 启动了一个 Vue3 项目。应用程序初始化代码为:
createApp(App)
.use(AudioVisual)
.component("font-awesome-icon", FontAwesomeIcon)
.mount('#app')
现在我想使用mitt来使用事件发射器,因此我需要使用app.config.globalProperties。所以,我使用了以下语法-
const app = createApp(App);
app.use(AudioVisual);
app.component("font-awesome-icon", FontAwesomeIcon);
app.config.globalProperties.emitter = emitter;
app.mount('#app');
有什么办法,我可以使用第一种语法并在我的应用程序中使用 mitt?我试过了
createApp(App)
.config.globalProperties.emitter = emitter;
...
但这没有用。
app.config.globalProperties.emitter = emitter
是一个表达式,不应被链接。以任何方式保留 app
引用以进行测试或其他可能是有益的,因此链接对于初始化并不重要。
全局实例的赋值属性可以像普通的Vue插件一样完成;这是第三方插件通常做的事情:
createApp(App)
.use({
install(app) {
app.config.globalProperties.emitter = emitter;
}
})
...
.mount("#app");
我用 Vue CLI 启动了一个 Vue3 项目。应用程序初始化代码为:
createApp(App)
.use(AudioVisual)
.component("font-awesome-icon", FontAwesomeIcon)
.mount('#app')
现在我想使用mitt来使用事件发射器,因此我需要使用app.config.globalProperties。所以,我使用了以下语法-
const app = createApp(App);
app.use(AudioVisual);
app.component("font-awesome-icon", FontAwesomeIcon);
app.config.globalProperties.emitter = emitter;
app.mount('#app');
有什么办法,我可以使用第一种语法并在我的应用程序中使用 mitt?我试过了
createApp(App)
.config.globalProperties.emitter = emitter;
...
但这没有用。
app.config.globalProperties.emitter = emitter
是一个表达式,不应被链接。以任何方式保留 app
引用以进行测试或其他可能是有益的,因此链接对于初始化并不重要。
全局实例的赋值属性可以像普通的Vue插件一样完成;这是第三方插件通常做的事情:
createApp(App)
.use({
install(app) {
app.config.globalProperties.emitter = emitter;
}
})
...
.mount("#app");