CXJS Как я могу запустить Apploop из глобальной области при интеграции с существующим веб-приложением?
У меня есть следующая проблема. Веб-приложение начинается с index.html, который является отправной точкой приложения cxjs. Но это в рамках Framework (M-Files UX API). Framework вызывает функцию в глобальной области видимости (OnNewDashboard()) и внедряет API и данные, которые необходимы моему cxjs-приложению. Итак, мне нужно запустить цикл приложения в этой функции в глобальном масштабе.
Как я могу это сделать?
В противном случае мне сначала нужно иметь взаимодействие с пользователем, чтобы иметь возможность доступа к API и данным инфраструктуры, что не очень хорошо для меня, так как я хочу показывать данные из инфраструктуры непосредственно при запуске.
Спасибо
1 ответ
На самом деле, я еще не нашел решения для того, чтобы с пользой смешать ecmascript 6 text/b abel и 5 text/javascript (см. Оригинальный вопрос) при создании нового интерфейса для старого веб-приложения. но я понял, что вы можете использовать видимость дочерних компонентов, чтобы ждать, пока определенный объект будет введен в глобальную область. так как onInit в Controller не будет выполнен, пока видимость не станет истинной, это обходной путь. Марко, у тебя есть способ получше? пример:
export class myController extends Controller
{
onInit(){
waitforData();
function waitforData() {
if (myGlobalExternalDataObject != undefined)
{
dashboardStore.set("$SpecialComponent.visible", true);
dashboardStore.set("$load.visible", false);
return;
}
setTimeout(function () {
waitforData();
}, 200);
}
}
}
export default <cx>
<SpecialComponent/>
<h2 putInto="header" visible={{bind: "$load.visible", defaultValue: true}} >
Loading... please wait.
</h2>
<Section visible={{bind: "$load.visible", defaultValue: true}} mod="well" controller={myController}>
<p ws >
Loading... please wait.
</p>
</Section>
</cx>