我尝试从父组件访问方法,但出现错误“类型'Vue'中不存在属性'blur'”。是否可以通过某种方式转换到特定组件?在我的案例中,父级始终是同一类型的组件。
这是简化的组件:
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
methods: {
click() {
this.$parent.blur();
},
},
});
答案 0 :(得分:0)
在这里查看:Vue docs。
通常,this.$parent
被认为是“极端情况”。在大多数情况下,建议您使用prop传递数据。
示例:
子组件想要在父对象上调用blur()
方法:
export default {
methods: {
click (event) {
this.$emit('clicked', 'value')
}
}
}
父组件获取点击事件并调用blur()
方法:
<div>
<childComponent @clicked="blur"></childComponent>
</div>
export default {
methods: {
blur (value) {
//you can use a `value` from a child component if necessary
//blur instructions
}
}
}