是否可以在VUE3中提供函數,然后在子組件中調用該函數?
我知道這對option API
有效:
provide() {
return {
$list: this,
};
},
但是我怎樣才能用composition API
實現同樣的效果呢?
我的方法是:
Parent component:
setup(props) {
const handleEdit = (item) => {
emit("edit", item);
};
provide("$list", handleEdit);
return { handleEdit };
}
Child component:
setup(props) {
const { item } = props;
const list = inject("$list");
const handleEditItem = (e) => {
list.handleEdit(item);
};
}
這里是錯誤Uncaught TypeError: _ctx.handleEditItem is not a function
我認為你可以通過傳遞一個對象來實現,這樣你就可以在需要的時候傳遞其他變量和方法。
parent.vue