如何从路由器中删除骨干视图?我正在尝试运行检查,如果存在某个视图,请将其删除。我无法弄清楚实现这一目标的语法。
我试过了:
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}我只是不知道如何执行它。
答案 0 :(得分:0)
为什么不直接致电mysite.city.remove()
?我想你出于某种奇怪的原因不能这样做(比如:你确实覆盖了remove
函数并丢失了原来的功能;如果是这样的话,为什么你要覆盖这个方法,如果你现在需要调用它? )。如果您必须从Backbone的remove
调用原始View
方法,您可以尝试这样做:
View.prototype.remove.call(mysite.city);
这会将remove
函数的上下文设置为对象mysite.city
。否则,当您按照调用它的方式执行remove
函数时,this
将是未定义的。