我正在开发一个 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({})
函数并为其赋予相同的范围来轻松地做到这一点,因此现在模态控制器也拥有所有数据。