Я столкнулся с этой проблемой с магистралью, где модель кажется неопределенной для магистральной сети, хотя все сценарии загружены. (Я использую требование для загрузки магистрали и других файлов javascript).
Поэтому всякий раз, когда я делаю collection.fetch, я получаю эту ошибку в firebug:
TypeError: targetModel is undefined
Когда я запускаю скрипт, он выполняется в этот момент:
if (attrs instanceof Model) {
id = model = attrs;
} else {
id = attrs[targetModel.prototype.idAttribute];
}
когда я наводил указатель мыши на targetModel, он говорит: undefined Почему-то сейчас это не работает, и единственное, что я сделал, это изменил свой HTML-шаблон, который загружается только после collection.fetch.
Не могли бы вы помочь мне здесь?
Вот моя модель:
var OF = OF || {};
OF.UsersMdl = Backbone.Model.extend({
default: {
username: '',
mailinglist: '',
email: ''
},
initialize: function() {
//
},
result: {
success: false,
message: ''
},
validate: function(att) {
}
});
Вот коллекция:
var OF = OF || {};
OF.UsersCollection = Backbone.Collection.extend({
initialize: function() {
//
},
parse: function(data){
return data["all-users"];
},
model: OF.UsersMdl,
url: 'php/api/users'
});
И последнее, но не менее важное: маршрутизатор с требуемой частью:
goToUsers: function() {
require(['./models/users', './views/users_view', './collections/user_collection'], function(UsersMdl, UsersView, UsersCollection) {
OF.usersMdl = new OF.UsersMdl;
OF.usersCollection = new OF.UsersCollection;
OF.usersView = new OF.UsersView;
//when the collection is fetched
$.when(OF.usersCollection.fetch({
data: {
"admin": OF.login.attributes.admin,
"session": OF.login.attributes.session
},
success: function(){
//console.log(OF.usersCollection.length);
}
//then render the view
})).then(function(){
OF.usersView.render();
}, 300);
});
},
Вот JSON, который будет получен при выборке:
{ "все пользователи": [ { "имя пользователя": "тестер", "список рассылки": "1", "электронная почта": "тестер@тестер.тест" }, { "имя пользователя": "тестер2", "список рассылки" :"1", "email":"[email protected]" }, { "имя пользователя":"tester3", "список рассылки":"0", "email":"[email protected]" } ] }
заранее спасибо
targetModel
? - person fbynite   schedule 17.12.2013