Reputation: 1120
Is there a reliable way to check if an object is a Vue.js component?
Upvotes: 21
Views: 12225
Reputation: 174
The simplest way to check if a an object is a Vue component, as in 2020l, is probably the _isVue property of the component, which, in case of the given object being a Vue.js component, exists as key-value at the root of the object and returns true.
Const isVueComponent = [VUE_COMPONENT_OBJECT]._isVue
Upvotes: 1
Reputation: 402
Like Saurabh wrote, instanceof
is probably the best way to be sure. However, in case you don't want to import Vue just for this purpose, you could use this._isVue
.
Upvotes: 10
Reputation: 73609
You can use instanceof, as following code:
var isVueComp = vuecomp instanceof Vue
If it isVueComp
is true, it is a Vue.js componeny otherwise not.
You can also use vuecomp.prototype.constructor, which will return reference to the Object constructor function that created the instance object.
Check this fiddle.
Upvotes: 18