アイテムビューにモデルを表示できません。現在、backbone.marionetteでrequire.jsを使用しています。
これは私のヘッダーテンプレートです:
// 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());
このコードを実行すると、ビューは正常にレンダリングされますが、モデル(名と姓)のデータが正しくありません。名と姓はどちらもnullです。奇妙なことは、initializeとonRenderの両方にあり、どちらも名と姓が正しく表示されます。
誰かがこれを克服する方法を知っていますか?