Backbone.js:从嵌套视图调用函数的代码不起作用
backbone.js: code for calling function from nested view doesn't work
我编写了以下代码,运行时没有错误,但在我按下按钮后,它产生了一个错误:tabClicked未定义
var MainView = Backbone.View.extend({
initialize: function() {
},
tabClicked: function(winID) {
alert("test");
}
});
var BottomPanel = MainView.extend( {
initialize: function() {
$("body").append($(this.el));
this.$el.attr("id", "bottomPanel").attr("top", "300px").attr("left", "50px");
this.$el.append($("<button>").click(this.func1));
},
func1: function() {
tabClicked(0);
}
});
$(document).ready(function() {
var mainView = new MainView();
var bottomPanel = new BottomPanel();
});
我创建了父窗口"MainView"的子窗口"BottomPanel"。我的意图是从BottomPanel Object调用MainView的一个方法。怎么做呢?
编辑1:我把上面的代码改成了一行:
this.$el.append($("<button>").click(this.tabClicked));
现在它工作了,但我需要保存上下文。现在这个变量当按钮被点击时不指向mainView对象。
应该是this.tabClicked(),否则javascript会查看全局命名空间,其中tabClicked没有定义
相关文章:
- 如何将函数包装在函数中以避免代码重复
- 从var向代码隐藏函数传递值
- 为函数代码编写测试
- 如何简化jquery动画函数代码
- 用于删除数组中的零的Javascript函数代码
- 使用JavaScript中的高阶函数概念,用Python编写纯函数代码
- JQuery each() 函数代码即使在集合中没有元素时也在运行
- javascript.获取javascript函数位置或获取函数代码
- 部分函数代码是't已执行
- 什么'这是jQuery下面函数代码中的错误
- 为什么新函数(代码)比直接执行相同的代码更快
- 如何使用javascript调用ascx函数代码?DotNetNuke
- JQuery函数代码运行不正常
- Node.JS:MongoDB更新回调返回结果,返回函数代码
- 用nodejs在一定时间后运行函数/代码
- Jquery只处理第一个函数/代码块
- 如何确保我的dom操作函数/代码在dom被渲染后被调用
- 在jQuery中获取现成函数代码下面的元素
- Jquery函数返回的函数代码不是值
- 什么是'$(这个)'包含在下面的javascript函数代码中