Я работаю над проектом миграции на Angular, в котором код подвергается рефакторингу с AngularJS на Angular 5. Вот фрагмент кода AngularJS.
HTML
<ul >
<li ng-if="participant.reports !== null && participant.reports !== undefined" ng-repeat="report in participant.reports">
<a ng-click="choosePDFLang(participant, report.type, report.name)">
<img src="i/pdf_image.png"/>{{ report.name | translate }}
</a>
</li>
</ul>
JS
$scope.choosePDFLang = function(participant, reportType, reportName)
$modal.open({
templateUrl: 'theTemplate'
controller: 'theController',
keyboard: true,
backdrop: 'static',
scope: $scope
}).result.then(function() {
});
}
Как вы можете видеть, когда элемент из выпадающего списка щелкается, он открывает модал со своим собственным шаблоном и контроллером, который обрабатывает всю логику.
Теперь я должен применить ту же логику, используя Angular 5. Мой проект использует компоненты PrimeNG.Я должен использовать диалоговое окно <p-dialog></p-dialog>
.
. Мой вопрос: как мне открыть это диалоговое окно и передать ему все данные, когда нажата гиперссылка отчета?В AngularJS я мог бы легко это сделать, вызвав функцию $modal.open({})
и предоставив ей ту же область видимости, так что теперь контроллер модалов также имеет все данные.