【问题标题】:Dynamically construct an ACS object动态构造一个 ACS 对象
【发布时间】:2013-12-04 12:17:41
【问题描述】:

我正在使用 Titanium Appcelerator 和 Node.ACS 来管理我的服务器页面。我必须使用一些 API 来更新对象,这些对象基本上是 JSON 对象。

我想做一个函数来更新对象的一个​​字段,但不知道如何动态地构造 JSON 配置。

这是我的代码:

function (id, field, value) {
    ACS.Objects.update({
        classname: MyObject,
        id: id,
        fields: {
            HERE_MUST_GO_THE_FIELD_NAME: value
        }
    }, function(data) {
        if (data.success) {
            console.log('Done');
        } else {
            console.log('Error');
        }
    });
}

我知道我可以通过以下方式动态创建属性:

var foo = {};
var bar = 'baz';
foo[bar] = '123';

但在这种情况下,我不能做类似的事情:

    ACS.Objects.update({
        classname: MyObject,
        id: id,
        fields[field]: value
    }, function(data) {

因为它会引发错误。那么,有没有办法做到这一点?

注意:显然,制作:

        fields: {
            field: value
        }

不工作,因为作为文字工作。

【问题讨论】:

    标签: javascript json node.js titanium acs


    【解决方案1】:

    好吧,我几乎是愚蠢的(几乎,因为我自己意识到了解决方案)。

    它与标准相同的模式,但更深:

                    var config = {
                        classname: MyObject,
                        id: id,
                        fields: {}
                    };
                    config.fields[field] = value;
                    ACS.Objects.update(config, function(data) {
    

    我把它留给像我这样的新手。

    【讨论】:

      猜你喜欢
      • 2013-03-30
      • 2021-06-21
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      • 1970-01-01
      • 2012-12-26
      相关资源
      最近更新 更多