Comments (10)
A component's name and the registered ID is a one-to-many relationship, since the same constructor can be registered as a sub-component in multiple other components.
You can just give it a custom option when extending it:
Vue.component('my-thing', {
name: 'mything'
})
// later
vm.$options.name // 'mything'
from discussion.
@adi518 it's been a long time, I've forgotten all of that,
but maybe you can try the code below? It's code from raven-js.
https://github.com/getsentry/raven-js/blob/master/plugins/vue.js
function formatComponentName(vm) {
if (vm.$root === vm) {
return 'root instance';
}
var name = vm._isVue ? vm.$options.name || vm.$options._componentTag : vm.name;
return (
(name ? 'component <' + name + '>' : 'anonymous component') +
(vm._isVue && vm.$options.__file ? ' at ' + vm.$options.__file : '')
);
}
from discussion.
Uh I'm a bit late to the party here, but as of Vue 2.4.2 I just tried using a global mixin:
Vue.mixin({
created() {
console.log(this.$options.name)
}
});
And this does exactly what @malkomalko seems to be asking for. I'd wager a guess that this can be done from any single specific component and does not need to be done from from a global mixin. Hope this helps!
from discussion.
Sounds good, thanks.
from discussion.
@yyx990803 Can we have the name coming from the prop, my component looks like this
name: 'name',
props: ['name', 'data'],
template: ``,
Now, I want the name to be whatever the parent sends me. Can I do that? I want to use these components for routing later.
Thanks
from discussion.
Does vue-loader provide a property to the component instance where we can find the original filename?
I need the automatically determined filename to be the component name, (without giving the name manually).
from discussion.
Oops, just found it out: https://github.com/vuejs/vue-devtools/blob/8e42bfec667489bb52e13b9885c1e684e0f1cc2a/src/backend/index.js#L328
const file = instance.$options.__file // injected by vue-loader
if (file) {
return classify(basename(file, '.vue'))
}
from discussion.
@fritx does that work for you in production?
from discussion.
I'll give it a shot, thanks.
from discussion.
I noticed $options.__file
isn't available if you try to read it in a global mixin, which is exactly what I need.
from discussion.
Related Issues (20)
- Use ||(or) in v-if (with nuxt js)
- Instantiate a copy of a component directly in that component HOT 1
- Call pre-defined javascript method on vue js event
- What about js-data.io?
- How to make vue bind to, or work with, html in properties
- Convert VueJS 1 to VueJS 2 HOT 2
- Third Party Libraries - Make non reactive?
- why v-switch not included in vuejs and what the alternative way HOT 1
- Use raw html inside v-bind
- iOS event bound using addEventListener is not triggering
- How to validate when blur a component.
- Google is not defined HOT 2
- vuejs can not find method or variable inside a callback function HOT 2
- Thousands of rows performance HOT 1
- how to pass Header + Body in POST api using Vue JS-axios HOT 4
- Conditional rendering and child component
- Fetch the value of element dynamically
- Vue breaks DataTables and Pace JS
- Bootstrap4 tag b-form-input has problem with @blur
- Invalid prop: Expected `Basic type`, got Nulll.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from discussion.