0

如何从路由器中删除主干视图?我正在尝试运行检查,如果存在某个视图,请将其删除。我只是无法弄清楚实现这一点的语法。

我努力了:

if(typeof mysite.city != "undefined")
 {
  console.log(mysite.city.View.prototype.__proto__.remove);

  //Calling this remove function throws the error
  mysite.city.View.prototype.__proto__.remove();
 }

但是由于强制重新加载页面,我得到了一些无法完全阅读的未捕获异常错误。我的 console.log 输出: function (){this.$el.remove();return this} 我只是不知道如何让它执行。

4

1 回答 1

0

为什么不直接打电话mysite.city.remove()?我想您由于某些奇怪的原因不能这样做(例如:您确实覆盖了该remove函数并丢失了原始功能;如果是这种情况,如果您现在需要调用它,为什么要覆盖该方法?)。如果你必须remove从 Backbone's调用原始方法View,你可以试试这个:

View.prototype.remove.call(mysite.city);

这会将remove函数的上下文设置为 object mysite.cityremove否则,当以您调用它的方式执行函数时,this将是未定义的。

于 2013-03-11T02:53:08.547 回答