Bla*_*sad 26 javascript coffeescript backbone.js
给定一个Backbone模型的实例,我怎么知道这个实例的"类"(可以这么说)?
例如:
class Car extends Backbone.Model
mycar = new Car()
Run Code Online (Sandbox Code Playgroud)
而我需要的是:
mycar.modelName # => 'Car'
Run Code Online (Sandbox Code Playgroud)
Rob*_*ode 23
我尝试了Mitch的建议,但在Chrome中,model.constructor.name总是""适合我.
我选择使用惯例.我现在使用扩展的第二个参数创建一个类属性,其工作方式如下:
directory.models.SomeModel = Backbone.Model.extend({
// usual model instance stuff
}, {
modelType: "SomeModel" // class property
});
Run Code Online (Sandbox Code Playgroud)
我发现我总能得到我想要的东西:
var mt = model.constructor.modelType;
Run Code Online (Sandbox Code Playgroud)
Mit*_*tch 14
在编写时,您可以通过执行以下操作获取模型的类名:
model.constructor.name
Run Code Online (Sandbox Code Playgroud)
这适用于Chrome浏览器.
Jay*_*ayC 10
我认为这一般都有问题.我打算提出一些这里提到的选项(如何在JavaScript中获取对象类型的名称?)但我遇到了第一个选项的问题.你总是可以延长你所有的车型有返回的"名称"为模式的功能,但我能理解为什么您可能会发现不尽如人意.
| 归档时间: |
|
| 查看次数: |
20511 次 |
| 最近记录: |