从实例获取主干视图的父类
Get a Backbone View's Parent class from an instance
我正在实现一个系统,我在其中管理视图切换,以便在渲染另一个视图之前清除该视图携带的任何事件。但是,我需要使用视图的实例在数组中查找视图。如何获取视图实例的视图类?
例如:
var myView = new MyView;
return myView.parent(); // this should return MyView
谢谢!
听起来你正在寻找constructor
属性:
返回对创建实例原型的 Object 函数的引用。
因此,如果您这样做:
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
作为构造函数的一部分传入,并在视图中设置一个"实例变量"。
然后,您将连接一个名为"parent"的 getter 函数,以像您的示例代码一样返回它:
var myView = new MyView( this );
return myView.parent();
相关文章:
- 是否可以从父类访问子类的属性
- 使用此选项选择父类内部的类
- 子类访问父类's闭包变量
- 如何通过Prototype或jquery移除子类的父类基类
- JavaScript—父类和子类/对象的此问题
- 通过使用此组件,检索父类数据
- jQuery .not() 排除特定类的父类
- 如何在 jQuery 中获取具有特定父类的所有元素的内容,并将它们传递给 GET 变量
- 如何在单击父类的另一个子类时获取子类的值
- 初始化父类中的变量(JavaScript/CoffeeScript 习语)
- hover添加类-或子类:悬停以影响父类
- 唯一标识父类的元素
- 无法将值从实例对象传输到父类的实例数组中
- jQuery父类更改的子级
- 在父类更改时停止HTML5音频/视频
- 如何从父类中记录成员函数
- 如果类中没有子元素,则赋予父类
- 使用继承配置netzkejavascript代码(在带有参数的父类中定义js代码)
- 单击父类中的任何内容时,从父类中删除该类
- 从实例获取主干视图的父类