У меня возникли проблемы с доступом к свойствам простого объекта.JavaScript: невозможно получить доступ к объектам
Это то, что я получаю, когда я бегу alert(JSON.stringify(user))
:
{"username": "david", "biography": "Hello world."}
Но это то, что я получаю, когда я бегу alert(user.username)
:
undefined
Я также попытался user["username"]
с тем же результатом. Это происходит в контексте приложения Backbone с использованием Handlebars. Ниже приведена базовая часть:
var User = Backbone.Model.extend({
urlRoot: 'http://api.example.com/user',
});
var Router = Backbone.Router.extend({
routes: {
":username": "profile"
},
profile: function (username) {
var user = new User({id: username});
user.fetch({
beforeSend: authenticate,
success: function() {
var profile = new Profile({user: user});
profile.render();
}
});
}
});
var Profile = Backbone.View.extend({
render: function() {
var source = $("#profile").html();
var template = Handlebars.compile(source);
user = this.options.user;
var html = template(user);
$("#content section").html(html);
}
});
Что может быть причиной такой проблемы?
Как вы узнаете о пользователях? Вы уверены, что это объект, а не строка? – Antoine
- это базовая модель? Я спрашиваю их, потому что вы добавили тег на свой вопрос. –
Да, код в моем сообщении находится в представлении, в которое передается объект 'user'. Я запускал 'alert (typeof user)' и возвращает 'object'. Я добавлю еще несколько вопросов к вопросу. –