Наша команда использует mdDialog для запуска модального режима, который позволяет пользователю редактировать ответы на вопросник.
$scope.editQuestionFnct = function(val){
$scope.editWidget = {};
//alert(val);
spUtil.get("gateway_questionnaire_widget", {//call new instance of this widget
//sys_id: $scope.params.refID,
task_id: $scope.data.task_id,
quest_id: val,
request: 'edit',
taskTable: $scope.data.task_table,
questionnaire_table: $scope.params.questionnaireTable,
serviceID: $scope.params.serviceID,
refID: $scope.params.refID,
taskCompleted: false,
editRequest: true
}).then(function(response) {
$scope.editWidget = response;//var to hold widget response to display in modal
$scope.showPrerenderedDialog('#editQuestion');
});
}
$scope.showPrerenderedDialog = function(name) {
$mdDialog.show({
templateUrl: name,
parent: angular.element(document.body),
clickOutsideToClose:true
});
};
$scope.closeDialog = function($scope){ //closes angular dialog window
$mdDialog.hide($scope);
}
$scope.closeSummDialog = function($scope){ //closes angular dialog window
$mdDialog.hide($scope);
}
<script type="text/ng-template" id="editQuestion">
<div class="md-dialog-container" >
<md-dialog style="background-color: #ffffff;" aria-label="edit dialog">
<md-toolbar style="background-color: #022C68; width: 100%;">
<h1 class="md-toolbar-tools" style="color: #ffffff;">Edit Response</h1>
</md-toolbar>
<md-dialog-content style="background-color: #ffffff;">
<div id="editQuestDiv" style="min-width: 700px;">
<sp-widget widget="editWidget"></sp-widget>
</div>
</md-dialog-content>
<md-dialog-actions layout="row">
<span flex></span>
<md-button ng-click="closeDialog()" style="background-color: #022C68; color: #ffffff;">
Close
</md-button>
</md-dialog-actions>
</md-dialog>
</div>
</script>
У нас две проблемы с указанным кодом:
Во-первых, вместо templateUrl мы использовали contentElement, который работал.Использование contentElement подтянул модал с вопросом, который требовал редактирования.Однако, когда пользователь щелкает по первому щелчку и нажимает на другой вопрос, появляется тот же вопрос, который появился при первом щелчке.Каждый последующий клик подтянет вопрос только с первого клика.
После некоторого чтения мы решили попробовать вместо этого использовать templateUrl, но при использовании вышеописанного открывается модал, в котором ничего нет:
Может кто-нибудь объяснить, что мы делаем не так?Мы что-то не так делаем с contentElement, где сохраняется только вопрос с первого клика?Если бы нам пришлось использовать templateUrl, почему бы не появился наш модал?
Спасибо!