我有一个简单的工厂返回一个数组和一个函数:
function stockCommons() {
return {
unitTypes: [
{
code: 'UN',
unitTypeIndex: 0
},
{
code: 'PK',
unitTypeIndex: 2
},
],
unitTypeChanged: function (changedToUnitType) {
return var activeUnitType = stockCommons.unitTypes.filter(function (obj) {
return obj.code == changedToUnitType;
})[0];
}
}
在函数中,我试图在stockCommons.unitTypes
处对数组进行引用,但它不起作用。我已经尝试了these solutions,但它们也没有用。
如何在函数中使用unitTypes数组?
答案 0 :(得分:1)
function stockCommons() {
return {
unitTypes: function() {
this.stock = [
{
code: 'UN',
unitTypeIndex: 0
},
{
code: 'PK',
unitTypeIndex: 2
},
];
return this.stock;
},
unitTypeChanged: function (changedToUnitType) {
return var activeUnitType = stockCommons.unitTypes.filter(function (obj) {
return obj.code == changedToUnitType;
})[0];
}
}
答案 1 :(得分:1)
简单的解决方案是将unitTypes
定义为私有变量并引用它。
function stockCommons() {
var unitTypes = [{
code: 'UN',
unitTypeIndex: 0
}, {
code: 'PK',
unitTypeIndex: 2
},
];
return {
unitTypes: unitTypes,
unitTypeChanged: function (changedToUnitType) {
var activeUnitType = unitTypes.filter(function (obj) {
return obj.code == changedToUnitType;
})[0];
return activeUnitType;
}
}
}