在使用vue时避免不了子组件要调用父组件中定义的方法,vue官网给出了API说明,this.$parent能够调用父组件自定义的方法。
可是在使用UI组件时出现一个没法使用this.$parent直接调用父组件方法的问题。vue
<Tabs value="name1"> <TabPane label="输入productID绑定" name="name1"> <TextTag @setText="setTagList"/> </TabPane> </Tabs>
上面代码中使用了iview组件,TextTag本身写的组件,在TextTag组件中直接使用this.$parent调用它父级组件的方法会报错,会提示你方法未定义。
错误的缘由是由于你本身写的组件被包裹在iview组件中,因此你直接在TextTag组件中调用它父级方法是调用不到的,TextTag直接父级组件时iview中的Tabs,若是在这种状况下还想要调用父组件中的方法,能够使用:iview
this.$emit()