#javascript #vue.js #promise #async-await
#javascript #vue.js #обещание #асинхронный-ожидание
Вопрос:
Я получаю пустой массив от Observer, я понятия не имею, как я могу получить данные. Когда код завершен для запуска, я вижу на консоли журнал наблюдателя. Но мне нужно получить наблюдателя во время addModel, чтобы он не был неопределенным
addModel(modelId, options = {}) {
if (!this._containerElement) {
return;
}
const model = this.viewer.scene.models[modelId];
if (!model) {
throw "Model not found: " modelId;
}
debugger;
// this.viewer.metaScene.metaModels - is undefined because of empty Array.
const metaModel = this.viewer.metaScene.metaModels[modelId];
if (!metaModel) {
this.error("MetaModel not found: " modelId);
return;
}
if (this._modelTreeViews[modelId]) {
this.warn("Model already added: " modelId);
return;
}
debugger;
this._modelTreeViews[modelId] = new ModelTreeView(
this.viewer,
this,
model,
metaModel,
{
containerElement: this._containerElement,
autoExpandDepth: this._autoExpandDepth,
hierarchy: this._hierarchy,
sortNodes: this._sortNodes,
pruneEmptyNodes: this._pruneEmptyNodes,
rootName: options.rootName
}
);
model.on("destroyed", () => {
this.removeModel(model.id);
});
}
Проблема:
_ob__: Observer
dep: Dep {id: 65896, subs: Array(0)}
value: {__ob__: Observer}
vmCount: 0
__proto__: Object
__proto__: Object
Комментарии:
1. Вы не показали, где данные загружаются в свойство. Тот факт, что это происходит где-то, когда-то, недостаточно информации, чтобы кто-либо мог вам помочь
2. исходный код github.com/xeokit/xeokit-sdk/blob/master/src/plugins/… я скопировал весь исходный код в другую папку и добавляю в нее свои собственные функции
3. Вы не показали, как вы интегрировали их SDK со своим приложением Vue
4. просто скопировал все файлы из моделей узлов, а затем я импортировал в плагин gtlf из своей папки и то же самое с плагином treeview, а затем я следовал этим рекомендациям.
5.
viewer
Доступен ли он в вашем приложении Vue? Если это так, пожалуйста, отредактируйте свой вопрос, чтобы опубликовать код в приложении Vue, где вы собираетесь его использовать. Если нет, то, похоже, этот вопрос не имеет ничего общего с Vue