小编Bre*_*mpa的帖子

Backbone.js - 使用触发器触发事件​​并传递数据

我正在使用backbone.js作为MVC框架编写选项卡菜单组件.当用户单击选项卡时,组件将切换选项卡(内部操作),但我希望组件的侦听器响应与该事件关联的操作.这背后的想法是我将各种点击抽象为具体行动.例如,每个选项卡的模型都是具有以下结构的哈希:

{
    label : <string>,
    actionCommand : "save",
    tabClass : <string>
}
Run Code Online (Sandbox Code Playgroud)

将被触发的事件将被称为"动作",因此侦听器将响应"动作",但随后将转发特定命令.例如:

this.trigger("action", {actionCommand: "save"});
Run Code Online (Sandbox Code Playgroud)

反过来,监听器将处理事件,类似于以下内容:

handleAction : function(event) {
  if (event.actionCommand == "save") {
    ...do something...
  }
Run Code Online (Sandbox Code Playgroud)

}

这可能吗?我无法从文档中收集到这些信息.提前感谢您提供的任何见解.

javascript backbone.js backbone-events

14
推荐指数
1
解决办法
4万
查看次数

JavaScript寄生继承中"this"指的是什么?

在JavaScript中使用原型继承创建应用程序多年后,我开始探索使用寄生继承.尽管在创建对象层次结构时可能会在内存中创建多个方法副本,但至少对我来说存在主要的缺陷,我发现它的简单性以及"新"变得不必要的事实让我产生了共鸣.但是,我坚持用"这个"发生的事情.我在网上看到的大多数例子都只是在表面上展示如何实现寄生继承,如下所示:

   function foo() {
       return {
          method1 : function() {...}
       }
   }

   function bar() {
       var that = foo();
       that.method2 = function() {
           //is "this" pointing to bar()?
       }
       return that;
   }
Run Code Online (Sandbox Code Playgroud)

正如我在bar()对象的注释中所说的那样,"this"是指bar()还是这个降级为method2的范围?

谢谢!

javascript

7
推荐指数
1
解决办法
153
查看次数

标签 统计

javascript ×2

backbone-events ×1

backbone.js ×1