javascript - 在 DOJO 类中设置和获取对象值的最佳方法

标签 javascript dojo

我有一个接受对象的类

{ 
    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/

相关文章:

dojo - 更新 Dojo 提供

JavaScript RemoveChild 逻辑/问题

javascript - 使用 JavaScript 访问框架的文档对象

javascript - 使用 width() 方法并以百分比形式返回值

javascript - 是否有 javascript 或 lodash 函数可以轻松迭代对或三元组

javascript - 如何只允许一个具有特定类的元素

javascript - 获取增强网格的过滤器插件查询

javascript - Dojo FilteringSelect - 完整 JSON 响应数据不可见

javascript - 在功能级别自定义 dojo 构建

javascript - 如何在iPhone浏览器中实现分享功能?