1

私は次のタイプスクリプトコードを持っています:

   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.Create()関数を呼び出すにはどうすればよいですか?

4

1 に答える 1

2

Ajax 呼び出しのコンテキストが間違っていると思います - コンテキストは...

このオブジェクトは、すべての Ajax 関連のコールバックのコンテキストになります。

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

$.ajax(this.link.Href, {
    context: this,
    dataType: 'html'
})
.done(this.ajaxDone)
.fail(this.ajaxFail);
于 2012-11-16T10:34:20.423 に答える