3

我正在通过API将一个复杂的对象goog.structs.Set从我的内容脚本传递到后台页面。chrome.extension.SendMessage另一方面,这goog.structs.Set是作为Object.
我怎样才能把它重新输入,goog.structs.Set以便我可以调用它的各种方法?

4

3 回答 3

9

你的意思是闭包编译器?

function receiveStructsSet( aSetObject ){

    var mySet =  /** @type {goog.structs.Set} */ (aSetObject); 
}
于 2013-08-29T12:18:17.730 回答
2

请参阅http://developer.chrome.com/extensions/messaging.html,您只能使用 chrome.extension.SendMessage 传递 JSON。

就个人而言,我使用一个简单的对象作为一个集合,并避免使用 goog.structs.Set:

var MySet = Object.create(null);

如果使用必须使用 goog.structs.Set,则需要将其序列化和反序列化为 JSON。

于 2013-09-03T17:32:10.877 回答
-1

也可以在函数声明前使用注解

/**
 *  @param {goog.structs.Set} aSetObject description of object
 */
function receiveStructsSet( aSetObject ){
  aSetObject.getCount();
}
于 2013-08-29T13:01:50.597 回答