检查Ember.js:获取对象的类型(Class)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查Ember.js:获取对象的类型(Class)?相关的知识,希望对你有一定的参考价值。
我经常使用console.log()
,特别是与Ember.inspect()
结合使用。但是有一件事我想念:
如何找出对象的类型(Class)?
例如:在检查<Sandbox.ApplicationController:ember288>
时得到类似Ember.get("controller")
的东西?
答案
如果您只想要模型名称(例如app/models/comment.js
的型号名称为comment
),您可以使用thing.constructor.modelName
。
例如:
var aComment = this.get('store').createRecord('comment');
aComment.get('constructor.modelName') // => 'comment'
另一答案
我知道你正在寻找一个字符串用于调试目的,但我最初想要知道如何获取对象的类型,而不是描述对象的字符串。
使用内置的javascript属性构造函数将生成用于构造实例的类。例如,您可以这样做:
person = App.Person.create();
person.constructor // returns App.Person
person.constructor.toString() // return "App.Person"
另一答案
如果你得到Class
,你通常可以调用toString()
(或作为快捷方式连接空字符串+ ''
)来获得像<Sandbox.ApplicationController:ember288>
这样的东西
另一答案
另一个有用的功能(在chrome中)是dir
命令。
dir(App.User)
这将为您提供完整的对象信息,而不仅仅是名称。
以上是关于检查Ember.js:获取对象的类型(Class)?的主要内容,如果未能解决你的问题,请参考以下文章
Mirage 的简单 Ember 数据问题(错误:遇到未定义类型的资源对象)