2017-09-30 11 views
-1

A.fileコールバックを定義する方法は他の場所に関数を挿入できますか? JavascriptをES5

function Carousel(){ 

    ~~~~~~ code ~~~~~~ 

    this.add = function(data){ 
    do_something() 
    self.addCallback.call(this, arguments) 
    }; 

    this.remove = function(data){ 
    do_something() 
    this.removeCallback.call(this, arguments) 
    }; 

    ~~~~~~ code ~~~~~~  
} 

Carousel.prototype.addCallback = function(){}; 
Carousel.prototype.removeCallback = function(){}; 

B.file

carousel = new Carousel(); 

carousel.addCallback = (function(data){ 

// I want the data from A.file, but i can't ! heeeeeelp~ 

    do_something(data) 
    carousel.addCallback() 
    do_something(data) 
})(); 

問題は、私はB.fileにA.fileからdataを得ることができないです。

私の場合、アクションを作成または削除した後にコールバックを挿入する必要があります。

この方法は正しいですか?誰かがより多くのトリック、マジック、または上記を修正することができますか?本当に本当に感謝します。

答えて

0

解決策が見つかりました。

A.file

function Carousel(){ 

    this.add = function(data){ 
    do_something() 
    self.addCallback.call(this, data) 
    }; 
} 

Carousel.prototype.addCallback = function(){}; 

B.file

carousel = new Carousel(); 

carousel.addCallback = function(data){ 

    do_bbb_things(data) 
}; 

そしてcarousel.add( 'ABC')を実行した後( 'ABC')do_bbb_thingsを呼び出します。

関連する問題