【发布时间】:2013-06-04 17:55:14
【问题描述】:
尝试在 Backbone 布局管理器中使用嵌套视图时遇到一个奇怪的错误。这是嵌套视图(我也在使用 RequireJS):
define([
'jquery',
'underscore',
'backbone',
'templates',
], function ($, _, Backbone, JST) {
'use strict';
var ResultsView = Backbone.View.extend({
template: JST['app/scripts/templates/results.ejs'],
});
return ResultsView;
});
这里是父布局视图:
define([
'jquery',
'underscore',
'backbone',
'templates',
'layoutmanager',
'views/results-view'
], function ($, _, Backbone, JST, manager, ResultsView) {
'use strict';
Backbone.Layout.configure({
manage: true
});
var AppView = Backbone.Layout.extend({
template: JST['app/scripts/templates/App.ejs'],
el: '#container',
views: {
"#search-results": new ResultsView()
}
});
return AppView;
});
下面是实例化父布局的代码:
define([
'jquery',
'underscore',
'backbone',
'views/App-view'
], function($, _, Backbone, AppView){
var initialize = function(){
new AppView().render();
};
return {
initialize: initialize
};
});
当我加载页面时,我收到以下错误:
"Uncaught TypeError: Cannot read property 'ownerDocument' of undefined"
错误来自 Jquery。如果我从上面的代码中删除这一行:
el: '#container',
错误消失了。我还是 Backbone 的新手,所以也许我错误地使用了视图?感谢您的帮助
【问题讨论】:
-
你能告诉我们实例化你的父布局的代码吗?
-
我刚刚编辑了问题以包含实例化代码,谢谢
标签: backbone.js nested views backbone-layout-manager