在子HTML节点内访问vue组件的属性

时间:2018-09-15 16:40:33

标签: vue.js vuejs2

我正在为Vue使用library for accordions,但是我无法设法找到访问子HTML节点属性的父组件属性的方法。

但是,我认为这与库无关,只是我缺乏Vue经验。我想我的问题与更简单的代码相同:

the-parent-component
    some-other-component
        h1(v-show="//how to show/hide based on my-component.status"

这是现实生活中的例子:

  • 包装器合拢时(隐藏在蓝色圆圈中)隐藏位于标题中的删除按钮
  • 在包装打开时显示它

screenshot

库组件v-collapse-wrapper公开了布尔属性status,展开时为true,折叠时为false

这是我描述手风琴(pug语言)的代码:

v-collapse-group(:only-one-active="true")
    v-collapse-wrapper.collapsed(v-for="(item, id, index) in form.items")
        div.card
            div.card-header
                h5(v-collapse-toggle="")
                    small
                        span(class="fa fa-chevron-up fa-fw collapse-indicator")
                        .
                            {{ getCardTitle(item) }}
                        a(href="#"
                          class="btn btn-sm btn-danger float-right"
                          @click.prevent="removeItem(item)")
                            | Delete

我尝试过的事情:

  • 使用$refs,但这似乎无法正常工作(不是被动的)

1 个答案:

答案 0 :(得分:1)

我想做到这一点的一种方法是制作一个组件,该组件将包装整个v-collapse-wrapper内容,并使该组件公开其自己的status属性(然后可以在其模板的任何位置访问它)。

但是我觉得这可能不值得,并且可能有一个更简单的解决方案。