0

当我将属性作为名称发送时,值名称作为“名称”而不是名称的参数值发送。有解决办法吗?现在我用case以正确的方式发送。

工作一

/**
     * Change properties of the elements
     */
    this.changeProperties = function(type,value) {
        switch(type)
        {
        case "stroke":
            $.DrawEngine.changeProperties({"stroke":value});
            break;
        case "font-family":
            $.DrawEngine.changeProperties({"font-family":value});
            break;
        }
    };

不工作一个

    this.changeProperties = function(type,value) {
            $.DrawEngine.changeProperties({"stroke":value});
}

原因

它发送{type:"red"}而不是{"stroke": "red"}

4

1 回答 1

1

您可能需要将其传递为

this.changeProperties = function(type,value) {
      var obj = {};
      obj[type] = value;
      $.DrawEngine.changeProperties(obj);
}

如果您一直试图将对象添加为{type:value}. key 不会被评估为类型的实际值,而是成为 key 本身。因此,您需要使用数组表示法来插入正在创建的类型的值作为键。

看到这个

于 2013-07-02T01:46:30.853 回答