- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码:
while (bson_iter_next(&iter))
{
const char* key = bson_iter_key(&iter);
if (!_paths.count(key))
{
_template->SetAccessor(
String::NewFromUtf8(isolate, key),
&BSONObject::getter,
&BSONObject::setter
);
}
}
Local<Object> obj = _template->NewInstance();
我构建了一个包含文档 BSON 中所有字段的对象。我有一份文件 list ,它们都经过这段代码。我意识到如果第一个没有其他人拥有的领域,他们将不会被定义。我解释:
BSON 1 : {foo: 3}
BSON 2 : {foo: 2, boo: 4}
当我在 JS 中使用我的 getter 时,他会告诉我:
BSON 1 : {foo: 3}
BSON 2 : {foo: 2}
如何添加该字段的访问器?
最佳答案
不要对具有不同数量属性的对象使用相同的 ObjectTemplate
。
我可以想到两种选择;哪个更好取决于您应用的其余部分:
每次都创建一个新的 Object
,然后直接在那个 Object< 上调用
。不需要 SetAccessor
(或 CreateDataProperty
?)/ObjectTemplate
。
在 ObjectTemplate
上使用 SetHandler
安装一个拦截所有属性查询的处理程序。
关于c++ - V8 - SetAccessor 无法添加到现有模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53303232/
我有以下代码: while (bson_iter_next(&iter)) { const char* key = bson_iter_key(
我对 V8 ObjectTemplate 的 Set 和 SetAccessor 方法之间的区别感到困惑。我的问题有一个简单的上下文和4 个具体的子问题。 上下文 假设我有一段代码要为目标 JS 上下
我正在关注 Embedder's Guide对于 V8,以便从 JavaScript 调用 C++。我在设置访问器时遇到错误。具体来说,以下代码无法在当前版本的 V8 和 VS2015 下为我编译。
我正在尝试用 C++ 为 Node.js 创建一个模块。我设置并运行了模块,Node.js 认为模块没问题。它可以被初始化和取消初始化,并且所有代码似乎都处于工作状态。但是,我试图在 C++ 中声明要
我是一名优秀的程序员,十分优秀!