У меня есть вид электронной почты в моем приложении Backbone. В настоящее время он создан в действии view
моего контроллера. Это примерно так:
routes: {
'email/:id': email
},
//...
email: function (id) {
var email = new Email({
id: id
});
this.emailView = new EmailView({
model: email
});
email.fetch();
}
Теперь проблема в том, что если я нахожусь в одном электронном письме, то другой, я создаю два отдельных EmailView
s. Это означает, что, например, ссылка удаления в EmailView
привязана к двум отдельным моделям Email
, поэтому нажатие кнопки delete удаляет оба (не очень хорошо).
Я рассматриваю два решения. В одном я бы кэшировал EmailView
и обновлял свою модель. Проблема в том, что мне пришлось бы повторно связать events
в EmailView
.
Другим решением было бы создать новый EmailView
, как я есть на данный момент, но отвязать старые EmailView.el
события перед его заменой.
Я собираюсь сделать это правильно? Есть ли лучший способ справиться с этой ситуацией? Приветствия заранее.