我有一个如下代码,但似乎无法从data
函数访问innerFn
对象。我有什么方法可以做到这一点吗?
export default {
data: {
a: "a",
b: "b"
},
fn: {
innerFn: () => console.log(data.b)
}
}
答案 0 :(得分:0)
在你的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();
答案 1 :(得分:0)
export default {
data: {
a: "a",
b: "b"
},
fn: {
innerFn: () => console.log(default.data.b)
}
}
这可能适合你。
答案 2 :(得分:0)
为您的对象命名,然后您不必使用this
来访问父属性。
const obj = {
data: {
a: "a",
b: "b"
},
fn: {
innerFn: () => console.log(obj.data.b)
}
}
export default obj
答案 3 :(得分:0)
自我引用是this
关键字的用途。
使用Object.create,您可以在作用域中定义对象属性,其中this
关键字将引用父对象。
var obj1 = Object.create(null, {
data: {
value: {
a: "a",
b: "b"
}
},
fn: {
value: function fn() {
console.log(this.data.b);
}
}
});
//TEST
console.log(obj1.data.a);
obj1.fn();
//Alternative with functions
function obj2() {}
obj2.data = {
a: "a",
b: "b"
};
obj2.fn = function fn() {
console.log(this.data.b);
};
console.log(obj2.data.a);
obj2.fn();
答案 4 :(得分:0)
您需要使用<dx:ASPxGridView ID="gvEmp" ClientInstanceName="gvEmp" runat="server"
Width="100%" KeyFieldName="Emp_id" AutoGenerateColumns="false">
<columns>
<dx:GridViewDataTextColumn Caption="Gender" ShowInCustomizationForm="true"
FieldName="Gender"> </dx:GridViewDataTextColumn>
</columns>
<editform>
<dx:ASPxRadioButtonList ID="Gender1" AutoPostBack="false" runat="server"
Value='<%# Eval("Gender") %>' ValueType="System.String">
<Items>
<dx:ListEditItem Text="Male" Value="Male" Selected="true"/>
<dx:ListEditItem Text="Female" Value="Female" />
</Items>
</dx:ASPxRadioButtonList>
</editform>
</dx:ASPxGridView>
<asp:ObjectDataSource ID="ObjectDSEmployee" runat="server"
InsertMethod="InsertEmployee"
TypeName="solution.file1.DataAccess.InspectionDataAccess">
<InsertParameters>
<asp:Parameter Name="Gender" Type="String"/>
</InsertParameters>
</asp:ObjectDataSource>
关键字。
例如: -
this