gpt4 book ai didi

javascript - 无法通过插件访问Vue.js全局函数

转载 作者:行者123 更新时间:2023-12-02 22:58:53 24 4
gpt4 key购买 nike

我正在尝试将一些常用功能重构为我的应用程序的全局可用的 Util 插件。我按照 docs 的说明进行操作和 this question ,但我不确定如何使用模板中的函数,并且 Vue 一直提示未定义的方法。理想情况下,我只想从任何子组件调用 isEmpty

util.js

export default {
install(Vue, options) {
Vue.isEmpty = function (object) {
return false // dummy function for now to check if method works
}
}
}

还尝试过:

Util.install = function (Vue, options) {
Vue.isEmpty = function () {
...
}
// this doesn't work either
// Vue.prototype.$isEmpty = function (object) {
// return false
// }
}

main.js

import util from './components/shared/util.js'
import comp from './components/shared/myComponent.js'
// Vue.component('util', util) this doesn't work
Vue.use(util)

const app = new Vue({
...
components: {
comp
}).$mount('#app')

以下均无效。抛出的错误是 TypeError: Cannot read property 'isEmpty' of undefined

组件模板

<p v-if="util.isEmpty(license)" class="margin-0">N/A</p>
<p v-if="Vue.isEmpty(license)" class="margin-0">N/A</p>
<p v-if="isEmpty(license)" class="margin-0">N/A</p>

最佳答案

你快完成了,缺少原型(prototype)。试试这个:

utils.js

export default {
install(Vue, options) {
Vue.prototype.isEmpty = function (object) {
return false // dummy function for now to check if method works
}
}
}

组件

<p v-if="isEmpty(license)" class="margin-0">N/A</p>

这里是一个例子:https://codesandbox.io/s/vue-template-tdx00

关于javascript - 无法通过插件访问Vue.js全局函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57859229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com