我正在尝试将用AngularJS1编写的控制器/组件升级到Angular6。在我的示例中,通过扩展放置在“ directive-wrappers”文件夹下的“ UpgradeComponent”,我采用了为所有现有AngularJS1控制器/组件提供包装的方法。
我们有许多用AngularJS1编写的控制器,需要在Angular6应用程序中进行升级和使用。由于这些控制器有点复杂,我们不想重写它或触摸这些控制器,而是想创建一些指令,就像这些控制器的包装器一样,最终被升级和使用。我对如何为现有控制器编写指令感到有些困惑?
我创建了POC,我想在其中升级 homepageController 和 UserServiceController 。将这两个控制器包装在一条指令中,然后升级到Angular6。
典型的现有控制器看起来像这样,因为它有点复杂并且包含许多我们不想触及这些现有控制器的功能。
因此为这些创建包装指令...
angular.module('app.products').controller('ProductDetailsController', [
'$scope', 'restService', 'currentCartService', 'productDetailsDialogService', 'constants', 'dialog', '$state', 'checkValues', 'rightsService', 'addSkuToItemsDialogService',
'dsaContextService', 'dfsService','messenger','cartExtService','dfsDpaExtService', 'dfsSmbExtService',
function($scope, restService, currentCartService, productDetailsDialogService, constants, dialog, $state, checkValues, rightsService, addSkuToItemsDialogService,
dsaContextService, dfsService, messenger, cartExtService, dfsDpaExtService, dfsSmbExtService) {
'use strict';
$scope.iAm = 'ProductDetailsController';
$scope.addItemToCart = function() {
...
};
$scope.isCartActive = function() {
...
};
...
...
}]);