2014-10-04 102 views
0

我很新,dat.gui。據this little tutorial,您可以從GUI調用對象的功能,只需將它傳遞給GUI的add功能:帶參數的Dat.gui函數調用?

gui.add(fizzyText, 'explode'); 

是否有可能參數傳遞給explode功能?

謝謝!

+0

不,你不能傳遞參數一個按鈕的功能。你想要做什麼?對多個按鈕使用相同的功能? – manji 2014-10-05 06:36:23

+0

是manji,我知道我可以通過「onChange」回調獲得類似的行爲。但我只是想確保沒有其他的路要走。 :-)如果你把它寫成答案,我會標記爲最佳答案。 – 2014-10-06 08:49:31

回答

1

無法將參數傳遞給按鈕的函數。但是,您可以訪問對象的其他屬性在功能:

function myViewModel() { 
    var self = this; 

    this.name = "name1", 
    this.score = 9, 
    this.check = function() { 
     if(self.score >= 5) { // access to the score property 
      alert('you pass!'); 
     } else { 
      alert('try again.'); 
     } 
    } 
}; 
0

您可以傳遞一些參數爆炸(),如果你通過創建Function.bind()此功能的副本。

 
gui.add({explode : fizzyText.explode.bind(this, param_1, param_2)}, "explode");

更多信息Function.prototype.bind()


我也不得不這樣做,重用我的功能和它的工作對我罰款這樣的:)