Надеюсь, у вас все хорошо!
Вопрос к приложению, которое использует Backbone.js и node.js.
Я нахожусь в ситуации, когда я хочу создать модель, а затем автоматически перейти на другой URI, созданный с использованием только что созданной модели:
MessageView = Backbone.View.extend({
events : {
'click #button' : 'go here'
}
go here : function(model) {
var message = new Message({model : model)};
var id = message.get('id');
// go to uri '/messages/id'
Теперь я настроил свое приложение с помощью Express, и поэтому я хотел бы получить реальный запрос GET к серверу, который бы вызывал данные из только что созданной модели. Поэтому я хотел бы загрузить страницу, а не просто изменить вид.
Одним из способов сделать это (я думаю) было бы просто иметь
window.location = 'messages/'+id;
как последняя строка выше, но мне кажется, что это не очень хорошая практика для Backbone в целом.
В противном случае, можно просто создать модель сообщения внутри метода рендеринга, а затем записать его идентификатор непосредственно в href кнопки при рендеринге представления, но это также кажется грязным:
render : function() {
var message = new Message({model : model)};
var id = message.get('id');
$('a #button').attr('href', '/messages/'+id);
}
Любые идеи о том, как я мог бы настроить это более элегантно? Заранее спасибо!