【问题标题】:Dat.gui function invocation with parameters?带参数的 Dat.gui 函数调用?
【发布时间】:2014-10-04 09:34:20
【问题描述】:

我对@9​​87654322@ 很陌生。根据this little tutorial,您可以从gui调用对象的函数,只需将其传递给gui的add函数:

gui.add(fizzyText, 'explode');

是否可以将参数传递给explode 函数?

谢谢!

【问题讨论】:

  • 不,您不能将参数传递给按钮的功能。你到底想做什么?对多个按钮使用相同的功能?
  • 是的 manji,我知道我可以通过“onChange”回调获得类似的行为。但我只是想确定没有其他方法可以走。 :-) 如果您将其写为答案,我将标记为最佳答案。

标签: javascript user-interface dat.gui


【解决方案1】:

如果您通过Function.bind()创建此函数的副本,则可以将一些参数传递给explode()。

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

更多信息Function.prototype.bind()


我也必须这样做,以重用我的功能,它对我来说很好:)

【讨论】:

    【解决方案2】:

    无法将参数传递给按钮的函数。但是,您可以在该函数中访问对象的其他属性:

    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.');
            }
        }
    };
    

    【讨论】:

      猜你喜欢
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2016-11-13
      • 1970-01-01
      • 2020-07-29
      • 2016-06-17
      • 2013-02-17
      相关资源
      最近更新 更多