【发布时间】:2021-02-17 12:07:25
【问题描述】:
导航栏.vue
组件NavigationBar.vue 在我的Vue.js 应用程序中使用,接受以下道具:
props: {
title: String,
actions: Array
}
这是NavigationBar 组件:
该组件接受数组以使用v-for 生成右侧的操作按钮。它们在父文件中定义,并且根据我的应用程序中的位置而有所不同。如果点击按钮,则需要调用指定的函数。
成员.vue
Members.vue 是父级。请注意其中的组件、操作和功能:
<template>
<div>
<NavigationBar title='Members' actions="actionsArray" ></NavigationBar
</div>
</template>
<script>
import ...
export default {
name: 'members',
components: {
NavigationBar
},
data () {
return {
actionsArray: [
{ btnText: 'Create', icon: 'mdi-plus-circle', function: 'createBtnClicked()' },
{ btnText: 'Edit', icon: 'mdi-pencil', function: 'editBtnClicked()' },
],
}
methods: {
createBtnClicked() {
// amazing things will happen here
},
editBtnClicked() {
// it will be even greater when this button is clicked
},
}
</script>
问题:
我无法让按钮的功能正常工作。将函数作为道具传递是否是正确的方法?
非常感谢您的帮助!谢谢:)
【问题讨论】:
-
为按钮使用插槽,这也将使您在按钮布局方面更加灵活
-
@minychillo 谢谢。我决定使用插槽,因为我已经到了需要这种灵活性和自定义选项的地步。
标签: vue.js vue-component