Javascript 覆盖主干';s视图函数
假设一个主干视图,例如Javascript 覆盖主干';s视图函数,javascript,backbone.js,overriding,Javascript,Backbone.js,Overriding,假设一个主干视图,例如 var Row = Backgrid.Row = Backbone.View.extend({ foo: function() {} } 我想在此源代码之外重新定义foo函数。 因为上面的代码本身也是一个库 我该怎么做呢?JavaScript中的继承是基于原型的。每个类构造函数都有prototype属性,您可以在其中定义它将创建的对象的方法 Backgrid.Row.prototype.foo = function () { // new code }
var Row = Backgrid.Row = Backbone.View.extend({
foo: function() {}
}
我想在此源代码之外重新定义foo
函数。因为上面的代码本身也是一个库
我该怎么做呢?JavaScript中的继承是基于原型的。每个类构造函数都有
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 () {} });