我遇到了一个问题,即我无法从传递给JavaScript类的实例的回调中获取所需的值。
let value;
const mutationObserver = new MutationObserver((mutations) => {
return values.map((mutation) => {
value = mutation.target.childElementCount;
return value;
})
})
console.log("value", value) <= undefined
const element = document.getElementsByClassName('pac-container')[0];
if (element) {
mutationObserver.observe(element, {
childList: true,
subtree: true
});
}
我之所以使用MutationObserver,是因为我想要一种实时了解googlePlaces API的结果如何使DOM发生变异的方法。由于我无法控制该标记-这似乎是下一件好事。
我已经探索了使用AutoCompleteService的方法-但这将要求我们使用AutoCompleteService调用而不是AutoComplete API端点重新实现现有的googlePlaces。
我在这里使用的方法与结果完美同步。
我不认为我曾经遇到过-和这里的区别在于,该值是在该类的实例内部设置的。
如何允许在类内部检索的值在处理它的类内部的函数范围之外定义?
我们正在这样调用googlePlaces API:
const autoComplete = new this.googleApi.places.Autocomplete(
this.props.inputRef,
INIT_OPTIONS
);
调用后返回一个对象-我可以看到正在发出请求-每次搜索后都有新数据-但没有干净的JSON响应-数据以某种优化的方式嵌入对象的深处。