我正在实现一个系统,在该系统中,我管理视图切换,以便在渲染另一个视图之前清除该视图所携带的任何事件。但是,我需要使用视图的实例在数组中查看视图。我如何获得视图实例的视图类?从一个实例获取骨干视图的父类
如:
var myView = new MyView;
return myView.parent(); // this should return MyView
谢谢!
我正在实现一个系统,在该系统中,我管理视图切换,以便在渲染另一个视图之前清除该视图所携带的任何事件。但是,我需要使用视图的实例在数组中查看视图。我如何获得视图实例的视图类?从一个实例获取骨干视图的父类
如:
var myView = new MyView;
return myView.parent(); // this should return MyView
谢谢!
听起来你正在寻找的constructor
属性:
返回创建实例原型的对象函数的引用。
所以,如果你这样做:
var v = new View;
然后v.constructor
会View
。如果你这样做:
var views = [
Backbone.View.extend({}),
Backbone.View.extend({}),
Backbone.View.extend({})
];
var v = new views[1];
for(var i = 0; i < views.length; ++i)
if(v.constructor === views[i])
console.log(i)
你会在控制台得到1
。演示:http://jsfiddle.net/ambiguous/EgURK/
我解决这个问题的方法是将this
作为构造函数的一部分传入,并在视图内部设置一个“实例变量”。
你会再用线了名为“父” getter函数返回它一拉你的示例代码:
var myView = new MyView(this);
return myView.parent();
非常好的jsfiddle设置感谢分享! –