我编写了一个Vue.js插件来全局访问Vue函数:
//= require admin/benefits
并将其包含在main.js文件中:
const MyPlugin = {
install (Vue, options) {
Vue.myFunction = function () {
console.log('Test')
}
}
}
export default { MyPlugin }
但是,当我尝试从这样的Vue组件调用myFunction时:
import MyPlugin from './plugins/my-plugin.js'
Vue.use(MyPlugin)
它给我下面的错误:
属性或方法“ myFunction”未在实例上定义,但 在渲染期间引用。确保此属性是反应性的, 在data选项中或对于基于类的组件,通过 初始化属性
在vue组件中访问“ myFunction”需要做什么?
答案 0 :(得分:2)
如果您尝试从模板访问全局方法,则该方法必须在Vue组件的实例上可用。因此,您需要在searchResult.getData.get(i).get(0).item_type
对象上设置myFunction
函数:
Vue.prototype
See the docs on writing plugins.
正如您在文档中所看到的,将install (Vue, options) {
Vue.prototype.myFunction = function () {
console.log('Test')
}
}
放在这些类型的全局函数上是一种常见的约定,以便更轻松地将它们与Vue实例上的其他方法区分开。因此,根据您的情况,最好将该函数设置为$
。