javascript - 将jquery库函数写入typescript

标签 javascript jquery angularjs typescript

我使用 typescript 编写了一条指令。代码如下所示。

'use strict';

module App.Directives {

    interface IPageModal extends ng.IDirective {
    }

    interface IPageModalScope extends ng.IScope {
        //modal: any;
    }

    class PageModal implements IPageModal {
        static directiveId: string = 'pageModal';
        restrict: string = "A";

        constructor(private $parse: IPageModalScope) {
        }

        link = (scope: IPageModalScope, element, attrs) => {

            element.on('click', function (event) {
                event.preventDefault();

                var options = {
                    backdrop: 'static',
                    keyboard: false
                };
                event.openModal = function () {
                    $('#' + attrs['targetModal']).modal(options);//error
                };
                event.showModal = function () {
                    $('#' + attrs['targetModal']).modal('show');//error
                };
                event.closeModal = function () {
                    $('#' + attrs['targetModal']).modal('hide');//error
                };
                var fn = this.$parse(attrs['pageModal']);
                fn(scope, { $event: event });
            });
        }
    }

    //References angular app
    app.directive(PageModal.directiveId, ['$parse', ($parse) => new PageModal($parse)]);
}

当我调用 jquery bootstrap .modal 函数时发生错误。我如何调用下面这个函数

$('#' + attrs['targetModal']).modal('hide'); //error line of code

最佳答案

jquery bootstrap .modal function then error occurring

如果是编译时错误,则需要类型定义。更多:https://basarat.gitbooks.io/typescript/content/docs/types/ambient/d.ts.html

修复

foo.d.ts 中的快速操作:

interface JQuery {
  modal: any;
}

关于javascript - 将jquery库函数写入typescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36878416/

相关文章:

javascript - Python:使用嵌入式 Javascript 常量/变量解析 JSON 字符串

javascript - 无法计算 Javascript 循环

jquery - jQMobile 对 jQuery 的依赖程度如何?

javascript - 减少所有 4 个边距的混合(顶部、右侧、底部、左侧)

angularjs - Grunt Concat 任务 : How to exclude some files?

javascript - 如何让 TextMate 在编译时看到 CoffeeScript 中的 "require"表达式?

javascript - MongoError,错误 :E11000 duplicate key error

使用 slider 更改 Javascript 图像

javascript - 使用 $http 方法的自定义服务在 Angular 中无法按预期工作

angularjs - AngularJS 中的 $http 上传文件进度