0

プロパティを名前、値として送信すると、名前の引数値ではなく、名前が「名前」として送信されます。それに対する修正はありますか?現在、ケースを使用して正しい方法で送信しています。

ワーキングワン

/**
     * 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 は型の実際の値として評価されず、代わりにキー自体になります。そのため、配列表記を使用して、作成される型の値をキーとして挿入する必要があります。

これを見る

于 2013-07-02T01:46:30.853 に答える