假设一个主干 View ,例如
var Row = Backgrid.Row = Backbone.View.extend({
foo: function() {}
}
我想从源代码外部重新定义 foo
函数。
因为上面的代码本身也是一个库。
我该怎么做?
最佳答案
JavaScript 中的继承是基于原型(prototype)的。每个类构造函数都有 prototype
属性,您可以在其中定义它将创建的对象的方法。
Backgrid.Row.prototype.foo = function () {
// new code
}
它将替换所有 Backgrid.Row
实例的 foo
的现有实现,除非它们有自己的 foo
属性。
var row = new Backgrid.Row();
row.foo = function () { ... }; // row now has it's personal `foo` implementation
我应该告诉你,建议创建新的类
var MyRow = Backgrid.Row.extend({ foo: function () {} });
关于javascript - 覆盖backbone的 View 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18825630/