亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何根據 v-for 值在模態窗口(單擊按鈕時)上獲取所選數據?

如何根據 v-for 值在模態窗口(單擊按鈕時)上獲取所選數據?

手掌心 2021-10-21 13:50:17
我是 Vue 的新手,正在使用 Bootstrap 模式來顯示產品信息。我有網格容器,每個容器都有一個產品圖片、描述和兩個按鈕。More details >>單擊其中一個按鈕 ( ) 時,會彈出一個模式窗口,該窗口應顯示與其所在網格完全相同的產品描述和圖片。<div id="myapp">  <h1> {{ allRecords() }} </h1>  <div class="wrapper" >    <div class="grid-container" v-for="product in products" v-bind:key="product.ID">      <div class="Area-1">        <img class="product_image" src="https:....single_product.jpg">       </div>      <div class="Area-2">        <div class = "amount">          {{ product.amount }}        </div>        {{ product.Description }}      </div>      <div class="Area-3">        <b-button size="sm" v-b-modal="'myModal'" product_item = "'product'">          More Details >>        </b-button>        <b-modal id="myModal" >          <h1> {{ product.Name }} </h1>          <h3> {{ product.Description }} </h3>        </b-modal>      </div>      <div class="Area-4">        <br><button>Buy</button>      </div>    </div>  </div></div>var app = new Vue({  'el': '#myapp',  data: {    products: "",    productID: 0  },  methods: {    allRecords: function(){      axios.get('ajaxfile.php')        .then(function (response) {          app.products = response.data;        })        .catch(function (error) {          console.log(error);        });    },  }})區域 1、2 和 4 工作得很好,它們v-for分別根據每個網格容器的值和預期顯示產品數據。當我點擊More details >>按鈕時,區域 3 是一個問題,我只看到一個褪色的黑屏。我不確定我在這里做錯了什么,非常感謝一些幫助。
查看完整描述

3 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

添加屬性 selectedProduct,然后在 More Details 按鈕單擊事件上,將當前產品分配給 selectedProduct 成員,如下所示:


HTML


  <div class="Area-3">

    <b-button size="sm" v-b-modal="'myModal'" 

             @click="selectProduct(product)">More Details >> </b-button>    

    <b-modal id="myModal">

             <h1> {{ this.selectedProduct.Name }} </h1>

             <h3> {{ this.selectedProduct.Description }} </h3>

    </b-modal>

  </div>

Javascript:


var app = new Vue({

 'el': '#myapp',

 data: {

    products: "",

    productID: 0,

    selectedProduct: {Name: '', Description: '', Amount:0}

 },

 methods: {

   allRecords: function(){

   ...

   },

   selectProduct: function(product)

   {

       this.selectedProduct = product;

   }

   ...

 }


查看完整回答
反對 回復 2021-10-21
  • 3 回答
  • 0 關注
  • 245 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號