Child компонентов их методы, сделать их "публичными" ? Без всяких костылей как Bus и без $refs.
К примеру есть компонент инпут, я хочу вызвать у него focus кликая по кнопку, которая находится в самом начале дерева:
##### ChildChild
<template>
<div>
<input ref="input" />
</div>
</template>
<script>
export default {
name: 'ChildChild',
}
</script>
#### Child
<template>
<div class='custom-box'>
<ChildChild />
</div>
</template>
<script>
import ChildChild from './ChildChild'
export default {
name: 'Child',
components: {
ChildChild
}
}
</script>
####Parent
<template>
<div>
<Child />
<button @click="onFocus">Focus input</button>
</div>
</template>
<script>
import Child from './Child'
export default {
name: 'Parent',
components: {
Child
},
methods: {
onFocus() {
// ????
}
}
}
</script>
Можно, есть опция expose
Понял, спасибо! Значит ток через рефы страдать, на уровень ниже если спущу компонент внутри дочернего, то все ляжет, но видать другого выхода нет \ Только не уточнил, это vue2, там вроде как нет еще такой опции :(
Обсуждают сегодня