バックボーン ビューで奇妙な動作が発生しています。ビュー テンプレートでイメージ タグがちらつき、ビューがレンダリングされるとすぐに消え、イメージが表示されません。これは私の最初の backbonejs/nodejs アプリケーションであり、かなりの時間をかけて試してみました。これをデバッグするには、私が十分に明確であることを願っています、ありがとう。
これが私のコードです:
//バックボーン ビュー
define(['text!templates/profile.html'],function(profileTemplate){
var profileView=Backbone.View.extend({
el:$('#content'),
initialize:function(){
this.model.bind('change',this.render,this);
},
viewTemplate: _.template(profileTemplate),
render:function(){
this.model.fetch();
this.$el.html(this.viewTemplate(this.model.toJSON()));
}
});
return profileView;
});
//HTML テンプレート (profile.html)
<img src="uploads/<%= photo%>" alt="image" />
//スキーマ
var AccountSchema=new mongoose.Schema({
email:{type:String,unique:true},
password:{type:String},
name:{
first:{type:String},
last:{type:String},
},
photo:{type:String},
});
ディレクトリ構造
/ParentDirectory
/Public
/templates
profile.html //this is the template being rendered
/uploads //contains images
//ルーター
define(['views/profile'],function(ProfileView){
var router=Backbone.Router.extend({
currentView:null,
routes:{
"profile/:id":"profile"
},
//Calls render method on views
changeView:function(view){
if(null !=this.currentView){
this.currentView.undelegateEvents();
}
this.currentView=view;
this.currentView.render();
},
profile:function(id){
var model=new Account({id:id});
this.changeView(new ProfileView({model:model}));
},
return new router();
});