0
我有一個插件創建了幾個原型,但是當我嘗試console.log(myinstace)
're沒有屬性列出。 {}
是結果。期望的結果將如下所示。我如何做到這一點?如何使NodeJS插件顯示屬性信息像一個普通的對象
addon.cc
Local<FunctionTemplate> self = FunctionTemplate::New(New);
self->PrototypeTemplate()->Set(
String::NewSymbol("Method")
, FunctionTemplate::New(method)
);
使用inspect
從util
包會給出一個對象的屬性和原型的最深檢查app.js
console.log(myinstance); // desired { Method : [Function: Method ] }
你爲什麼要調用'self-> PrototypeTemplate() - > Set'而不是'self-> Set'? 'console.log'不打印出原型鏈值。 – loganfsmyth
它在插件文檔中。 http://nodejs.org/api/addons.html,但我看到我不需要'PrototypeTemplate()'調用,仍然沒有日誌輸出。只用'self> set()' – MatUtter
好的,你添加的新行更清楚你正在使用構造函數。這與C++無關,只是'console.log()'只顯示'own'屬性,它不顯示原型鏈屬性。你看到'myObj(){} MyObj.prototype.Method = function Method(){}; console.log(新的MyObj())'。 – loganfsmyth