我正在try 使用 bootstrap vue模式来显示一系列项目的详细信息.

我想要的是将数据传递给modal,以显示一条简单的消息.

我首先在记录集上循环以显示按钮.

<ul>
  <li v-for="item in items">{{ item.first_name }} 
      <b-button size="sm" v-b-modal="'myModal'" user="'item'">
        Saluta {{item.first_name}}
      </b-button> 
  </li>
</ul>

然后在模式中显示名称:

<b-modal id="myModal" :user="'user'">
  Hello {{user}}!
</b-modal>

这是我的小提琴https://jsfiddle.net/bptLavov/259/

推荐答案

这很管用:

HTML:

<div id="app">
  <ul>
    <li v-for="item in items">
      {{ item.first_name }}
      <b-button size="sm" v-b-modal="'myModal'" user="'item'" click="sendInfo(item)">
        Saluta {{item.first_name}}
      </b-button>
    </li>
  </ul>

  <b-modal id="myModal">
    Hello {{selectedUser.first_name}} {{selectedUser.last_name}} !
  </b-modal>
</div>

JAVASCRIPT:

new Vue({
  el: '#app',
  data: {
    items :
    [
        { first_name: 'Dickerson', last_name: 'Macdonald' },
        { first_name: 'Larsen', last_name: 'Shaw' },
        { first_name: 'Geneva', last_name: 'Wilson' },
        { first_name: 'Jami', last_name: 'Carney' }
    ],
    selectedUser: '',
  }, 
  methods: {
    sendInfo(item) {
        this.selectedUser = item;
    }
  }

})

它的作用是:

1) 执行一个名为sendInfo的方法

2) 该方法将与所选用户一起设置数据内部的selectedUser个变量,根据v-for迭代,v-on:click (@click)指令将发送该信息.因此,每个按钮都会发送正确的信息.

3) 显示模式内的信息

Vue.js相关问答推荐

在Nuxt项目中混合Scrolltrigger与Lenis

如何使用Nuxt 3动态处理无限嵌套路由?

Vue 3组合式API如何测试是否发出正确的事件

使用内部方法创建计算(computed)属性是否合法?

vue3 ssr 不返回纯 html

如何在 v-for 指令切换状态下安全地制作包含附加到对象的复选框的列表(W/O 切换列表中的其他复选框)?

VeeValidate 4 字段验证状态

我可以在打印 HTML 页面时使用作用域 CSS 吗? (使用 Laravel 和 Vue.js)

将函数作为属性传递给 Vue 组件

如何解决 Vue.js 中的相邻 JSX 元素必须包含在封闭标记中问题

VueJS:如何在组件数据属性中引用 this.$store

使用 Vue 和 JS 下载 CSV 文件

如何更新手动安装的 vue 组件上的props?

W3C 验证和 Vue 的 HTML 绑定语法

Vue-test-utils:在单个测试中多次使用 $nextTick

在 vue/vuex(/flux?) 中使用 ES6 类是一种反模式吗?

为 webpack HMR Vue.js 包含来自外部项目文件夹的可导入模块

错误:找不到模块'@vue/babel-preset-app'

Vue $refs 对象的类型为 unknown未知

理解 Vue 中的this关键字