我通过goog.structs.Set
API将包含chrome.extension.SendMessage
的内容脚本的复杂对象传递给后台页面。另一方面,此goog.structs.Set
作为Object
收到
我怎样才能将它转换回goog.structs.Set
,以便我可以调用它上面的各种方法?
答案 0 :(得分:9)
你的意思是闭包编译器吗?
function receiveStructsSet( aSetObject ){
var mySet = /** @type {goog.structs.Set} */ (aSetObject);
}
答案 1 :(得分:2)
请参阅http://developer.chrome.com/extensions/messaging.html,您只能使用chrome.extension.SendMessage传递JSON。
就个人而言,我使用一个简单的对象作为集合并避免使用goog.structs.Set:
var MySet = Object.create(null);
如果use必须使用goog.structs.Set,则需要将其序列化并反序列化为JSON。
答案 2 :(得分:-1)
您还可以在函数声明
之前使用注释/**
* @param {goog.structs.Set} aSetObject description of object
*/
function receiveStructsSet( aSetObject ){
aSetObject.getCount();
}