Backbone.js BackboneJS如何导入模块并插入主视图的特定html元素
我有一个主视图,我在其中导入外部视图(模块),获取集合并将它们作为新视图插入到特定的HTML元素中。但是现在我犯了一个错误我不明白 我定义了这种观点:Backbone.js BackboneJS如何导入模块并插入主视图的特定html元素,backbone.js,Backbone.js,我有一个主视图,我在其中导入外部视图(模块),获取集合并将它们作为新视图插入到特定的HTML元素中。但是现在我犯了一个错误我不明白 我定义了这种观点: function (App, Backbone, auth) { var userNav = App.module(); UserNav = Backbone.View.extend({ ... )} return UserNav; } 然后在我的主视图中,我想导入视图userNav define(['a
function (App, Backbone, auth) {
var userNav = App.module();
UserNav = Backbone.View.extend({
...
)}
return UserNav;
}
然后在我的主视图中,我想导入视图userNav
define(['app', 'backbone', 'modules/userNav'],
function (App, Backbone, UserNav,) {
var Main = App.module();
Main.View = Backbone.View.extend({
template: 'main',
...
afterRender: function(){
var userNav = new UserNav.View();
this.insertView('.usernav', userNav);
}
但是我得到了未捕获的TypeError:undefined不是一个函数,它引用的是行
var userNav = UserNav.View();
这里的问题是什么?我想问题在于用户导航。 尝试使用此代码将其定义为模块
define(['Backbone','App','auth'], function(Backbone,App, Auth){
var UserNav = Backbone.View.extend({
//Your code
)}
return UserNav;
});
这是requireJs定义模块的方式
希望有帮助。newusernav()
而不是newusernav.View()
UserNav是视图在您的第一个代码片段中,您正在切换大小写,而不是
var UserNav=App.module()
您可能想要var UserNav=App.module()
@Jack尝试过,但没有解决问题,我仍然收到相同的错误…您没有告诉我们insertView来自何处,或者dom是否包含.userNav元素,因此我们无法提供更多帮助insertView来自主干Layoutmanager
,很抱歉我没有提到它,是的,.userNav元素位于模板:'main'