获取 backbone 模型的 name/type

Get the name/type of a backbone model

我有一个比较通用的视图,可以排除 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)

但我收到了同样的警告。

获取模型有技巧吗type/name?

谢谢!

嗯,我试过了,我觉得很合适,你在用 new 吗?

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