【问题标题】:How can I call a function inside a class from inside a function called up by Ajax in typescript?如何从打字稿中的 Ajax 调用的函数内部调用类内部的函数?
【发布时间】:2012-11-05 01:10:33
【问题描述】:

我有以下打字稿代码:

   export class Modal {

        private link: Link;

        constructor (public $link: JQuery) {
            this.link = new Link($link);
            this.ajaxGet(this.link);
        }

        ajaxGet(link: Link) {
             $.ajax(link.Href,
            {
                context: {
                    link: link
                },
                dataType: 'html'
            })
                .done(this.ajaxDone)
                .fail(this.ajaxFail);
        }

        ajaxDone(data: string, textStatus: string, jqXHR: JQueryXHR) {
            var link = <Link> this.link;
            link.Modal.Content = data;
            this.create(link);
        }

        create(link: Link) {
           var a = link;
        }


    }

这一直有效到在 ajaxDone 中我有一个 this.create(link)。问题是“this”不再是 Modal 并且它没有创建功能。此时如何让它调用 Modal.Create() 函数?

【问题讨论】:

    标签: javascript typescript


    【解决方案1】:

    我认为您的 Ajax 调用中的上下文是错误的 - 上下文是...

    这个对象将成为所有 Ajax 相关回调的上下文

    http://api.jquery.com/jQuery.ajax/

    $.ajax(this.link.Href, {
        context: this,
        dataType: 'html'
    })
    .done(this.ajaxDone)
    .fail(this.ajaxFail);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 2021-03-22
      • 2021-06-25
      • 2017-03-05
      • 2014-09-11
      • 1970-01-01
      相关资源
      最近更新 更多