我有一个接受对象的类
{
a : "abc",
b : { z: 'as' }
c : 123
}
该类需要为对象的属性提供getter和setter函数。
最好的方法是什么?
我应该遵循 Java 风格和编写 getA/setA
/getB/setB
函数,还是可以有一个简单的函数或 Store 可以做到这一点?
最佳答案
Julian Fondren 的答案很好,特别是因为它适用于一般 JS 而不仅仅是 DOJO。
如果您需要为自定义小部件
设置getter和setter,您应该使用方法.get()
和.set()
来自 dijit/_widgetBase
,下面是一个示例。
https://jsfiddle.net/f8pejjy4/2/
require([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dojo/domReady!"
], function (declare, _WidgetBase) {
var YourWidget = declare(_WidgetBase, {
a: "",
_setAAttr: function (value) {
console.log("Sets value of a to " + value);
// some custom logic here
this._set('a', value);
},
_getAAttr:function(){
// some custom logic here
console.log("Return value");
return this.a;
},
});
var yourWidget = new YourWidget().placeAt(document.body);
yourWidget.startup();
yourWidget.set('a', 'another value');
yourWidget.get('a');
});
关于javascript - 在 DOJO 类中设置和获取对象值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33206946/