如何在AdminActivtyService对象中动态指定值?我有一个setEmbeddedConfigObj来将numActivities更改为false或true。但是,如果我想设置或获取socialMediaSelections,我将如何指定设置socialMediaSelections和NOT numActivities。
我也不希望我的embedConfigObj中的每个值都有过多的不同set和get函数。
因此,有没有办法像#34; this.embeddedConfigObj.obj = obj"。这将只允许设置或获取传递的函数参数的值。
var AdminActivityService = {
"embeddedConfigObj" : {
"numActivities" : false,
"socialMediaSelections": false
// etc.
}
};
AdminActivityService.setEmbeddedConfigObj = function(obj) {
this.embeddedConfigObj.numActivities = obj;
};
AdminActivityService.getEmbeddedConfigObj = function() {
return this.embeddedConfigObj.numActivities;
};
答案 0 :(得分:0)
您可以传入密钥名称和值,并有一个getter / setter:
AdminActivityService.getEmbeddedConfigObj = function(key) {
if (this.embeddedConfigObj.hasOwnProperty(key))
return this.embeddedConfigObj[key];
else
return null;
}
AdminActivityService.setEmbeddedConfigObj = function(key, val) {
if (this.embeddedConfigObj.hasOwnProperty(key))
this.embeddedConfigObj[key] = val;
}
然后只需将其调用:AdminActivityService.getEmbeddedConfigObj("numActivities")
将返回numActivities
的值,而AdminActivityService.setEmbeddedConfigObj("numActivities", true)
会将numActivities
设置为true