鍍金池/ 問答/HTML/ modal窗有沒有可能在點(diǎn)擊時(shí)再生成創(chuàng)建?

modal窗有沒有可能在點(diǎn)擊時(shí)再生成創(chuàng)建?

圖片描述

左邊第一列灰色的按鈕是在生成頁面的時(shí)候通過vue和bootstrap-vue組件挨個(gè)生成綁定的,代碼如下:

<template>
  <div>
    <b-btn v-b-modal="modalWindowId">{{ namedPipelineName }}</b-btn>
    <b-modal :id="modalWindowId" size="lg">
      Hello From My Modal!
    </b-modal>
  </div>
</template>

<script>
  export default {
    name: 'pipeline-detail-modal',
    props: ['namedpipeline'],
    data () {
      return {
        modalWindowId: this.namedpipeline.id,
        namedPipelineName: this.namedpipeline.series.name
      }
    }
  }
</script>

我的問題有兩個(gè)

1. 這些幾乎相同的modal窗,單頁面數(shù)據(jù)達(dá)到幾百行的時(shí)候會不會是很大額外開銷
2. 如果是的話,有什么好的優(yōu)化方案?

回答
編輯回答
氕氘氚

你可以只要一個(gè)modal窗,所有的按鈕都是顯示它,實(shí)時(shí)數(shù)據(jù)不一樣就行了。

2017年3月17日 18:24
編輯回答
風(fēng)畔

肯定有,給你個(gè)思路

<b-modal :id="modalWindowId" size="lg">

  Hello From My Modal!

</b-modal
上添加一個(gè)v-if='showModal'默認(rèn)false,在點(diǎn)擊按鈕時(shí)改成true,這樣就會在點(diǎn)擊按鈕的時(shí)候,渲染一個(gè)模態(tài)框了

2018年9月16日 15:54