vue.js - 在 Vue Bootstrap 中动态生成指令名称

标签 vue.js

我正在使用 Vue bootstrap 的下拉菜单,我想在其中包含可折叠元素。我想要完成的是有一个按钮可以打开和关闭可折叠列表中的每个元素。

Vue Bootstrap 执行此操作的方式是为可折叠元素提供一个与按钮的指令名称相匹配的 ID。

我的问题是,当使用 v-for 生成多个项目时,我无法动态生成指令名称(但是我能够生成 id 名称)。请参阅下面的代码:

            <b-dropdown-item-button disabled v-for="(superPortfolio, index) in portfolio.hierarchy">{{superPortfolio.superPortfolioName}}<b-btn v-b-toggle="'collapse' + 0" variant="primary"></b-btn>
              <b-collapse v-bind:id="'collapse' + index" class="mt-2">
                <b-card>

                </b-card>
              </b-collapse>
            </b-dropdown-item-button>

        </b-nav-item-dropdown>

我希望能够给下拉项一个像 v-b-toggle="'collapse' + {{index}}" 这样的指令,而不是像我上面那样硬编码它( v-b-toggle="'collapse' + 0")

最佳答案

您还需要简单地绑定(bind)该指令。

<b-btn v-bind:v-b-toggle="'collapse' + index" variant="primary"></b-btn>

https://v2.vuejs.org/v2/api/#v-bind

编辑:v-b-toggle 不需要绑定(bind) : 所以像这样使用

<b-btn v-b-toggle="'collapse' + index" variant="primary"></b-btn>

关于vue.js - 在 Vue Bootstrap 中动态生成指令名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48389883/

相关文章:

javascript - 如何在 Vue.js 中的组件之间共享方法?

laravel - Vue-router:如果用户没有权限,则重定向到路由

javascript - 如何在 Vue.js 中的按钮单击事件上启用文本字段?

vue.js - 如何使用 vue 和 jest 测试拖放

javascript - vue.js - 单击后向对象添加新值

javascript - Vue-Draggable & Acts As List - 如何更新整个列表位置?

javascript - Vue 计算属性未在更新其 react 性依赖项时更新

javascript - NUXT - 无法加载资源 : the server responded with a status of 404

javascript - 使用 Vue Js 切换类,从组件中获取所有 props

javascript - v-for 循环项目不会立即在 Vue 中更新