Я работаю в ServiceNow и пытаюсь использовать $ uibModal, чтобы открыть модальное окно со встроенным виджетом.Модал открывается нормально при первом клике, но каждый клик после этого требует два клика, чтобы модал загружал правильный контент.Я читал на нескольких сайтах, что это из-за того, что кэш шаблонов не очищается, и некоторые люди предлагали не использовать теги сценария, но я не уверен, как заставить uibModal работать без тегов сценария в ServiceNow.Кто-нибудь сталкивался с этим?Хотел бы получить некоторые предложения о том, как это исправить.
Вот мой клиентский скрипт:
c.onWidget2 = function(template, task) {
c.taskName = task.short_description;
c.modalInstance = $uibModal.open({
templateUrl: template,
scope: $scope,
size: 'lg'
});
spUtil.get('hrj_task_activity_scoped', {
sys_id: task.sys_id,
table: 'sn_hr_core_task',
recordInfo: task.taskInfo
}).then(function(response) {
c.newTask2 = response;
});
};
//closeModal for the "x"
c.closeModal = function() {
c.modalInstance.close();
};
А вот мой HTML:
<div class="card" ng-click="c.onWidget2('newTask2',task);"></div>
<script>
<div class="panel panel-default">
<div class="panel-heading clearfix">
<h4 class="panel-title pull-left">{{c.taskName}}</h4>
<span ng-click="c.closeModal()"><i class="fa fa-times pull-right"></i></span>
</div>
<sp-widget widget="c.newTask2" options="c.newTaskOptions"></sp-widget>
</div>
</script>