除了6种不同类型的模型外,我有一个通用的视图。
我创建视图并传入模型,如下所示:
var view = new MyView({
model: myModelType //can be 1 of 6 different model types
});
在视图中,我需要显示子视图,但前提是模型不是某种类型。
在视图中,我只提到像' this.model'这样的模型。有没有办法弄清楚传入的模型类型?
我尝试了这个,但我收到了警告:
if (this.model != ModelTypeA) { do stuff }
警告是:在脚本模式下不允许使用变量而不声明它。
我也尝试过:
if (!this.model instanceof ModelTypeA)
但我得到同样的警告。
获取模型类型/名称是否有技巧?
谢谢!
答案 0 :(得分:2)
嗯,我试过了,看起来对我来说,你使用的是var A = Backbone.Model.extend({});
var B = Backbone.Model.extend({});
var AA = A.extend({});
new A() instanceof Backbone.Model
> true
new AA() instanceof Backbone.Model
> true
new AA() instanceof A
> true
new A() instanceof B
> false
new B() instanceof A
> false
吗?
{{1}}