У меня проблема с отображением модели в itemview. В настоящее время использую require.js с backbone.marionette.
это мой шаблон заголовка:
// header.js
define( [
"jquery",
"underscore",
"marionette",
"user",
"userSession",
"text!../../tpl/header_template.html"
], function ( $, _, Marionette, User, UserSession, HeaderTemplate ) {
return Marionette.ItemView.extend( {
template: HeaderTemplate,
initialize: function(){
alert(UserSession.firstName + " " + UserSession.lastName)
},
onRender: function(){
alert(UserSession.firstName + " " + UserSession.lastName)
},
model: new User({
lastName: UserSession.lastName,
firstName: UserSession.firstName
})
});
});
это код фрагмента шаблона
Logged in as <%= firstName %> <%= lastName %>
и этот код, когда я пытаюсь отобразить элемент просмотра
// attached the view
layout.header.show(new HeaderView());
Когда я запускаю этот код, представление отображается нормально, но данные модели (имя и фамилия) неверны. имя и фамилия равны нулю. Странно то, что и при инициализации, и при рендеринге они оба правильно отображают имя и фамилию.
Кто-нибудь знает, как это побороть?