У меня есть две службы (или приложения), написанные с использованием NextJS, которые производят какой-то HTML-код на стороне сервера, необходимые файлы JS и CSS.Каждый из этих двух сервисов возвращает реагирующее приложение.Существует родительское приложение AngularJS, которое извлекает необходимый HTML-код (с включенными стилями и сценариями), вызывая сервис http и вставляя необработанный HTML-файл в приложение AngularJS.Все до этого момента работает нормально, за исключением того, что я нахожусь в точке, где приложение React должно что-то сказать части AngularJS.Внутри приложения React есть кнопка, которая при нажатии должна что-то делать в угловой части.
Угловая часть выглядит следующим образом (я не включил функцию, которую я хотел бы, чтобы реактивная часть выполняла при нажатии кнопки):
controller: function ($scope, $window, $sce, Toaster, Restangular, AuthService, User, LeadModel, LocaleService) {
var lead = LeadModel.getCurrentLead();
var getDeskingToken = function() {
return AuthService.getLightToken(lead.organizationUnitId).then(function (token) {
return token;
});
};
$scope.System = System;
$scope.quotewidget = { html: null };
function renderWidget (html) {
$scope.quotewidget.html = $sce.trustAsHtml(html);
}
function importWidget() {
// getDeskingToken().then(function(token){}) // we can use this once we parse the jwt token
Restangular.all('quotewidget/data').get([]).then(function(response){
return response.plain().body
})
.then(function(html) {
return renderWidget(html);
})
.catch(function(error){
Toaster.error('quote widget ' + String(error));
});
}
$scope.$watch(function() {
return $window.System;
}, importWidget);
}
Что возвращается из вызова Restrictк сервису относится HTML, который также включает в себя некоторые элементы, и поэтому браузер загружает все это и запускает сценарии.
У кого-нибудь есть идея для внедрения чистого решения?Как кнопка внутри компонента реагирования может выполнить функцию, определенную в угловых значениях, после того как все компоненты React уже отрисованы?
Я ищу решение, которое не загрязняет объект окна.
У меня есть доступ ко всему исходному коду сервиса.Так что я мог бы также включить некоторый пользовательский код в часть реакции, если это будет необходимо.