【问题标题】:Vue.js - Bootstrap Vue Popover interpreting HTMLVue.js - Bootstrap Vue Popover 解释 HTML
【发布时间】:2021-01-07 05:35:41
【问题描述】:

我希望弹出框在单击时显示一个或多个超链接。我可以使用 v-html 参数让其他 Bootstrap 元素解释 HTML,尽管在这种情况下它不起作用。

这是我的代码:

<template>
  <div>
    <b-button
      :id="popover"
      size="sm"
    >
      Button
    </b-button>
    <b-popover
      :target="popover"
      triggers="focus"
      v-html="actions"
    >
      {{ actions }}
    </b-popover>
  </div>
</template>

<script>
  export default {
    computed: {
      actions() {
        return [
          `<a href="www.google.com">Google</a><br>`,
          `<a href="www.youtube.com">Youtube</a><br>`
        ].join('')
      }
    }
  }
</script>

【问题讨论】:

    标签: javascript html vue.js vue-component bootstrap-vue


    【解决方案1】:

    删除targetid上的绑定符号:,然后将它们更改为popover1,然后使用v-html指令创建一个嵌套div,其值为actions

    <template>
      <div>
        <b-button
          id="popover1"
          size="sm"
        >
          Button
        </b-button>
        <b-popover
          target="popover1"
          triggers="focus"
        
        >
        <div v-html="actions"></div>
        </b-popover>
      </div>
    </template>
    
    <script>
      export default {
        computed: {
          actions() {
            return [
              `<a href="www.google.com">Google</a><br>`,
              `<a href="www.youtube.com">Youtube</a><br>`
            ].join('')
          }
        }
      }
    </script>
    

    如果idtarget 属性绑定到某个属性,则应保留绑定符号。

    【讨论】:

    • 为避免以后的读者产生疑问,您不必删除targetid 上的动态绑定即可完成这项工作。它只是在OP中不合适。将actions 放入div 是关键部分。
    • 感谢您的评论,但我不明白您的意思
    • 您给出的答案非常好。我只是说你说要删除绑定。有些人可能认为您必须删除这些绑定才能使v-html 工作。
    • 是的,你是对的,有些人可以将 id 和 target 值定义为数据或计算属性
    猜你喜欢
    • 2018-09-21
    • 1970-01-01
    • 2022-08-14
    • 2013-07-02
    • 1970-01-01
    • 2019-08-19
    • 2014-12-21
    • 2013-10-23
    • 1970-01-01
    相关资源
    最近更新 更多