Ответ 1
Попробуйте
window.view = new ProjectView;
вместо
window.view = ProjectView({});
TypeError: результат выражения 'this._configure' [undefined] не является функцией.
Я постоянно сталкиваюсь с этой ошибкой при продлении Backbone.View
моя структура приложения выглядит следующим образом:
//index.js
$(function(){
window.Project = Backbone.Model.extend({});
window.ProjectCollection = Backbone.Collection.extend({});
window.projects = new ProjectCollection;
window.ProjectView = Backbone.View.extend({});
window.view = ProjectView({});
window.view.render();
});
Даже с этой пустой структурой я все еще получаю ошибку, и когда у меня есть весь мой код, я получаю ту же самую ошибку
Мне не хватает зависимости? в моем index.html загружаю следующее в следующем порядке:
jquery.js
underscore.js
backbone.js
(and at the bottom of my body) index.js
И если я беру "окно" из моих переменных, я получаю ту же ошибку.
Независимо от того, как я подхожу к backbone.js, я продолжаю получать ту же ошибку... как я могу это исправить?
Попробуйте
window.view = new ProjectView;
вместо
window.view = ProjectView({});
Я тоже недавно видел эту ошибку TypeError: this._configure is not a function
, и это было потому, что у меня было:
var myView = someView();
вместо:
var myView = new someView();
Мне нужно было передать аргументы моему представлению, поэтому ни один из вариантов здесь не работал.
У меня был этот код:
return new app.module('foo').View({id: 1});
Сменилось это:
var view = app.module('foo').View;
return new view({id: 1});