【发布时间】:2019-10-16 18:38:18
【问题描述】:
我有一个类在 Coffeescript 中使用 extends 关键字扩展 Backbone.Router。如何在我的类中覆盖 Backbone.Router.execute 方法?
我尝试在我的子类中添加一个具有相同方法签名的执行,但它仍在调用父类方法而不是我的自定义方法。
jQuery ->
class MyRouter extends Backbone.Router
routes:
"path/:id" : "myFunction"
execute: (callback, args, name) ->
console.log('hello')
console.log(args)
# do stuff
args.push(parseQueryString(args.pop()));
if callback
callback.apply(@, args);
myFunction: (id) ->
# do stuff
我想在调用 myFunction 之前对 args 添加一些检查,但不知何故无法覆盖执行方法。我在这里做错了什么?
【问题讨论】:
-
您能说明您是如何实例化
MyRouter并调用execute方法的吗? -
@caffeinated.tech 正常实例化
customRouter = new MyRouter。我们不需要调用 execute 方法,因为主干正在处理 backbonejs.org/#Router-execute。