将javascript函数调用转换为typescript函数

将javascript函数调用转换为typescript函数,javascript,angular,typescript,Javascript,Angular,Typescript,我正在将旧的angular 2应用程序转换为angular 5。现在我对typescript非常陌生,在网上找不到太多帮助。我好奇的是,在我下面的代码中,我正在使用一个服务创建一个对话框。其中,我通过以下方式调用函数: tempModalDefaults.controller = function ($scope, $modalInstance) { 我想知道怎么做。当.controller尚未定义时,typescript中是否有一个等效的tempModalDefaults.controlle

我正在将旧的angular 2应用程序转换为angular 5。现在我对typescript非常陌生,在网上找不到太多帮助。我好奇的是,在我下面的代码中,我正在使用一个服务创建一个对话框。其中,我通过以下方式调用函数:

tempModalDefaults.controller = function ($scope, $modalInstance) {
我想知道怎么做。当.controller尚未定义时,typescript中是否有一个等效的tempModalDefaults.controller来处理typescript中的tempModalDefaults.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;
    }

var tempModalDefaults={}定义您的类型
或将其定义为
any

i、 e

var tempModalDefaults: any = {}
// or
var tempModelDefaults = {} as YourType
// or
var tempModelDefaults: YourType = {} as any 
// `as any` is needed because `{}` will not match `YourType`