Преобразование вызова функции JavaScript в функцию машинописи - PullRequest
0 голосов
/ 02 мая 2018

Я конвертирую старое старое приложение angular 2 в angular 5. Теперь я очень плохо знаком с машинописью и не нахожу много помощи в Интернете. Что мне интересно, так это мой код ниже. Я использую сервис для создания диалога. В этом я вызываю функцию через:

tempModalDefaults.controller = function ($scope, $modalInstance) {

и мне интересно, как это сделать. Также есть эквивалент в машинописи для обработки файла tempModalDefaults.controller в машинописи, когда .controller не был определен. Кроме того, как мне обращаться с экземплярами angular.extend?

Полный код:

    function show(customModalDefaults, customModalOptions) {
        //Create temp objects to work with since we're in a singleton service
        var tempModalDefaults = {};
        var tempModalOptions = {};

        //Map angular-ui modal custom defaults to modal defaults defined in service
        angular.extend(tempModalDefaults, modalDefaults, customModalDefaults);

        //Map modal.html $scope custom properties to defaults defined in service
        angular.extend(tempModalOptions, modalOptions, customModalOptions);

        if (!tempModalDefaults.controller) {
            tempModalDefaults.controller = function ($scope, $modalInstance) {
                $scope.modalOptions = tempModalOptions;
                $scope.modalOptions.ok = function () {
                    $modalInstance.close(tempModalOptions.okResult);
                };
                $scope.modalOptions.close = function () {
                    $modalInstance.dismiss('cancel');
                };
                $scope.modalOptions.rename = function () {
                    $modalInstance.close(tempModalOptions.bodyText);
                };
            }
        }

        return $modal.open(tempModalDefaults).result;
    }

1 Ответ

0 голосов
/ 02 мая 2018

Определите ваш тип на var tempModalDefaults = {}; или определите его как any.

т.е.

var tempModalDefaults: any = {}
// or
var tempModelDefaults = {} as YourType
// or
var tempModelDefaults: YourType = {} as any 
// `as any` is needed because `{}` will not match `YourType`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...