Я пробовал:Как добавить настраиваемый метод к базовой модели?
initialize: function() {
if (this.get("id") == "modelOfInterest") {
var func = function() {
//do some stuff with the model
}
_.bind(func, this)
}
}
и
initialize: function() {
if (this.get("id") == "modelOfInterest") {
var func = function() {
//do some stuff with the model
}
this.on("func", func, this);
}
}
Однако в обоих случаях:
myModelInstance.func(); //object has no method func
Я предпочел бы не использовать _.bindAll()
.
Я отредактировал код выше, чтобы показать, что я пытаюсь связать func только с одной моделью. Модель инициализируется, когда она добавляется в коллекцию: все модели запускаются в одно и то же время, и я просто хочу связать func с одним из них.
Одной из возможных причин является то, что эта модель используется в коллекции. Я только хочу дать этот метод одной из моделей. В функции инициализации я тестирую идентификатор модели, чтобы увидеть, является ли она той, которую я хочу, чтобы я мог привязываться только к ней. Если бы я сделал то, что вы предлагаете, я бы дал функцию всем моделям. –
Я отредактировал свой оригинальный вопрос, чтобы сделать это яснее. –
Это работает. Я думаю, это означает, что моя функция привязана ко всем моделям в коллекции, но это не имеет значения, пока я не привязываю к ним какое-либо событие. –