Javascript 有没有办法访问父对象?
我有下面这样的代码,但似乎无法从Javascript 有没有办法访问父对象?,javascript,node.js,vue.js,nuxt.js,Javascript,Node.js,Vue.js,Nuxt.js,我有下面这样的代码,但似乎无法从innerFn函数访问data对象。我有什么办法可以做到这一点吗 export default { data: { a: "a", b: "b" }, fn: { innerFn: () => console.log(data.b) } } 在js文件中 // name the file as follows var func = ()=>{ console.log("triggered your function
innerFn
函数访问data
对象。我有什么办法可以做到这一点吗
export default {
data: {
a: "a",
b: "b"
},
fn: {
innerFn: () => console.log(data.b)
}
}
在js文件中
// name the file as follows
var func = ()=>{
console.log("triggered your function");
}
export default {
data: {
a: "a",
b: "b"
},
fn: {
val: 3,
innerFn: func
}
}
现在可以调用该函数了
fn.innerFn();
}
这可能会对您有所帮助。给您的对象起一个名称,然后您就不必使用
此
来访问父属性
const obj = {
data: {
a: "a",
b: "b"
},
fn: {
innerFn: () => console.log(obj.data.b)
}
}
export default obj
自引用是此关键字的作用 使用可以定义范围中的对象属性,其中
this
关键字将引用父对象
var obj1=Object.create(空{
数据:{
价值:{
a:“a”,
b:“b”
}
},
fn:{
值:函数fn(){
console.log(this.data.b);
}
}
});
//试验
console.log(obj1.data.a);
obj1.fn();
//功能替代
函数obj2(){}
obj2.data={
a:“a”,
b:“b”
};
obj2.fn=函数fn(){
console.log(this.data.b);
};
console.log(obj2.data.a);
obj2.fn()代码>您需要使用this
关键字
例如:-
export default {
data: {
a: "World!"
},
methods: {
consoleGreet: () => {
console.log(`Hello, ${this.data.a}`)
}
}
}
this.data.b
@Tushar这不起作用,因为在innerFn中调用this
只会导致fn
作用域。任何对象都可以有多个父对象,因此您通常无法查找。
export default {
data: {
a: "World!"
},
methods: {
consoleGreet: () => {
console.log(`Hello, ${this.data.a}`)
}
}
}