У меня есть метод, который проходит вверх аргумент в гнездовом представлении в Backbone, как например:аргументов Попутных поверх тех, прошли триггер() в Backbone.js
page.get('condition') ? this.trigger('someEvent', object) : this.trigger('someOtherEvent', object);
Как я понимаю, это код передаст объект «someEvent
» или «someOtherEvent
» в качестве первого аргумента для обратного вызова, указанного в прослушивателе для этого события.
Мой слушатель (в родительском файле вида) выглядит следующим образом:
this.parentView.on('someEvent', this.someFunction('extraArgument'), this);
По умолчанию, если второй параметр был просто this.someFunction
, я полагаю, что первый аргумент этой функции будет object
. Моя проблема в том, что я хочу передать 'extraArgument
' в дополнение к неявному переданному объекту.
Таким образом, я структурировать подпись this.someFunction
так:
someFunction: function(object, extraArg) {
...
}
Однако, отладочные операторы внутри функции показывают, что object
в действительности extraArgument
я проходил вручную, и что extraArg
не определено в рамках функции. Как передать extraArgument
без перезаписи аргумента, переданного из дочернего представления?
Не должно быть '_.partial (this.someFunction, 'extraArgument')'? – Jack
@Jack: '_.f (x)' и '_ (x) .f()' эквивалентны, я склонен использовать '_ (x) .f()', потому что он лучше меня читает. –
Спасибо за то, что я этого не знал. Описывает ли это это где-то в документации underscore.js? – Jack