javascript - 子类 View 渲染后如何渲染父类(super class) View ?

标签 javascript oop backbone.js backbone-views

我无法调用父类(super class)的渲染

Super = Backbone.View.extend({

     render : function(){
          //super class code here   (unable to call)
          return this;
     }

}); 

Sub = Super.extend({

     render : function(){
          //sub class code here    (called)
          return this;
     }

});

var view = new Sub();
view.render();

我想先调用子类渲染,然后调用父类(super class)渲染。 在某些情况下,先渲染父类(super class),然后渲染子类。

那么,是否可以编写子类渲染代码 根据用户要求在之前或之后调用父类(super class)渲染,不更改父类(super class) 并且不更改函数名称

那么,我错过了什么?

提前谢谢。

最佳答案

我可能在这里遗漏了一些东西,但是您可以在 Sub.render 函数中调用 Super 原型(prototype)上的 render 方法:

Super = Backbone.View.extend({
     render : function(){
          console.log('super render');
          return this;
     } 
});

Sub = Super.extend({
     render : function(){
          console.log('sub render');
          Super.prototype.render.call(this);
          return this;
     } 
});

var view = new Sub();
view.render();

还有一把 fiddle http://jsfiddle.net/WATqe/

关于javascript - 子类 View 渲染后如何渲染父类(super class) View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12435501/

相关文章:

javascript - Jquery Mobile - $(document).ready 不触发

python - 如何验证 namedtuple 值?

c# - 是否可以使对象公开类型参数的接口(interface)?

javascript - 平滑滚动到顶部工作不顺畅

javascript - 使用 HTML 表单覆盖 HTML 页面

javascript - 从通过 websocket 接收的 ArrayBuffer 读取字符串

java - 关注点分离、封装、松散耦合、意大利面条式代码

backbone.js - Backbone 点击事件未触发

javascript - 如何在新 View 渲染之前关闭所有事件

javascript - 如何从浏览器检查 Node session cookie 过期时间