2012-11-16 24 views
1

我有以下打字稿代碼:如何從打字稿中的Ajax調用的函數內部調用類中的函數?

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(鏈接)點。問題在於「this」不再是Modal,它沒有創建功能。我怎樣才能在此時調用Modal.Create()函數?

回答

2

我覺得你的背景是錯在你的Ajax調用 - 背景是...

這個對象將作出所有Ajax相關回調的背景下

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

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