Javascript Vue:从实例范围外的函数访问Vue实例
这是我的数据对象的一小部分。基本上,它用于创建导航菜单。在导航菜单中有一些按钮可以触发函数,我想我应该在数据对象中创建函数,因为这是最清晰的方法 但是,Javascript Vue:从实例范围外的函数访问Vue实例,javascript,vue.js,Javascript,Vue.js,这是我的数据对象的一小部分。基本上,它用于创建导航菜单。在导航菜单中有一些按钮可以触发函数,我想我应该在数据对象中创建函数,因为这是最清晰的方法 但是,此不会返回vue对象。因此,除了让虚拟机成为全球范围的一部分之外,我还不知道如何做到这一点 有什么想法吗 const data = { login: { title: "Log in", icon: "fa fa-sign-in", action: function () { console.log("Lo
此
不会返回vue对象。因此,除了让虚拟机成为全球范围的一部分之外,我还不知道如何做到这一点
有什么想法吗
const data = {
login: {
title: "Log in",
icon: "fa fa-sign-in",
action: function () {
console.log("Log in");
// This is where I want to access the vm, e.g. like this:
// this.$root.showLoginBox();
}
}
}
定义Vue实例将在该实例范围之外使用的函数似乎是一种不好的做法 但是,如果确实需要将
数据
对象保留在原处,则可以从Vue实例中将此
绑定到函数:
const data = {
login: {
action: function () {
console.log(this)
}
}
}
new Vue({
created() {
data.login.action.bind(this)();
}
})
在您的vue实例调用中
data.login.action.bind(this)(
这非常有效,谢谢!:D只需要做一个小小的修改,bind函数实际上返回了函数的一个新版本,所以我想要的实际上是data.login.action=data.login.action.bind(这个),但是如果没有您的帮助,我是无法实现的,所以谢谢:)