有时我会收到如下错误:
TypeError: this.$parent.test() is not a function
这是我在父级中的方法:
test() {
console.log('test')
}
这是 child :
...
if (this.$parent) {
this.$parent.test()
}
我知道还有另一种方法可以做到这一点,但我想知道的是我是否可以检查该父项是否存在!这在 vue.js 中可能吗?谢谢
最佳答案
调用父级方法的标准方法是发出事件并在父级中处理该事件。如果父方法不存在,您将遇到模板编译时错误(有利于调试)。
在父模板中:
<my-component @myevent="test"></my-component>
子组件:
this.$emit('myevent');
这样做是为了将父组件与组件分离并实现重用。
恕我直言,你应该有充分的理由不这样做,在这种情况下,你的解决方案是可以的。
关于javascript - 有没有办法检查 vue.js 中是否存在 $parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59029287/