vue-component-register
Version:
Allow components to register their subComponents.
80 lines (58 loc) • 2.06 kB
Markdown
[](https://travis-ci.org/fjc0k/vue-component-register)
[](https://codecov.io/gh/fjc0k/vue-component-register)
[](https://github.com/fjc0k/vue-component-register/blob/master/dist/vue-component-register.min.js)
[](https://github.com/fjc0k/vue-component-register/blob/master/dist/vue-component-register.min.js)
Allow components to register their subComponents.
```js
// List.vue
import ListItem from './ListItem.vue'
export default {
name: 'List',
subComponents: {
Item: ListItem
}
}
```
See this issue: [Allow a component to register its own subComponents](https://github.com/vuejs/vue/issues/8249)
```bash
yarn add vue-component-register
npm i vue-component-register
```
[](//www.jsdelivr.com/package/npm/vue-component-register) | [UNPKG](//unpkg.com/vue-component-register/)
Avaliable as `window.VueComponentRegister`.
`VueComponentRegister` will automatically calls `Vue.use()` if `Vue` is available as a global variable.
```js
/* main.js */
import Vue from 'vue'
import ComponentRegister from 'vue-component-register'
import Button from './components' // No subComponents
import List from './components' // Include subComponents: ListItem
Vue.use(ComponentRegister)
Vue.component(Button.name, Button)
Vue.component(List.name, List)
/* App.vue */
import Step from './components' // Include subComponents: StepItem
export default {
name: 'App',
// Component-level register
components: { Step },
render() {
return <step>
<step-item>
<list>
<list-item>first step</list-item>
</list>
</step-item>
</step>
}
}
```
[](./LICENSE)