No se puede acceder a todos los atributos del modelo de red troncal desde la plantilla

El problema que estoy tratando de depurar es que, en mi vista de red troncal, todos los atributos del modelo (nombre, id, correo electrónico, etc.) están disponibles (tengo console.log () los atributos del modelo para verificar esto), sin embargo, cuando render la vista pasando el modelo, solo el atributo de nombre está disponible en la plantilla, todos los demás atributos no están definidos, por favor, hay algo que me falta, ya que esta es mi primera aplicación de red troncal y he pasado horas tratando de depurar esto y tengo Pasé por muchos tutores en línea y mi código parece correcto, gracias

// Método de vista BACKBone (lo he verificado y todos los valores del modelo están disponibles aquí)

var profileView=Backbone.View.extend({
    el:$('#content'),

    initialize:function(){
      this.model.bind('change',this.render,this);
    },

    render:function(){

        var self=this;

        this.$el.html(_.template(profileTemplate,this.model.toJSON()));
    }
});

// PLANTILLA HTML (profileTemplate), solo el atributo de nombre está disponible en la plantilla, // el navegador da un error de 'indefinido' para todos los demás atributos excepto el atributo de nombre

<h1><%=name.first%> <%=name.last%> </h1>//displays correctly
<%=email%> //undefined

//ESQUEMA

 var AccountSchema=new mongoose.Schema({
    email:{type:String,unique:true},
    password:{type:String},
    name:{
        first:{type:String},
        last:{type:String},
      full:{type:String}
    },

  });

// SE RESUELVE AHORA, sucedió porque ejecuté el comando fetch en el modelo después de llamar al método de procesamiento en lugar de antes de llamar al método de procesamiento

Este es mi enrutador. Llamo a model.fetch () desde el enrutador después de crear la vista. El problema se detuvo cuando llamé a model.fetch () antes de renderizar el antes

define([''views/profile''],function(,ProfileView){

  var router = Backbone.Router.extend({
    currentView: null, 

    socketEvents: _.extend({}, Backbone.Events),

    routes: {
      'addcontact': 'addcontact',
      'index': 'index',
      'login': 'login',
      'register': 'register',
      'forgotpassword': 'forgotpassword',
      'profile/:id': 'profile',
      'contacts/:id': 'contacts',
       "upload/:id":"upload"
    },
    profile: function(id) {
      var model = new Account({id:id});
      console.log('profile user:'+id);
      this.changeView(new ProfileView({model:model})); //View is created here
      model.fetch(); // model is fetched after view is rendered, cause for the problem in my case
    }
  });

  return new router();
});

Respuestas a la pregunta(0)

Su respuesta a la pregunta