【问题标题】:Is there a way to create hyperlink within Vue argument有没有办法在 Vue 参数中创建超链接
【发布时间】:2020-12-01 21:02:38
【问题描述】:

我有一个函数可以创建一个在每个name 内改变的文本框。问题是,我希望这些描述参数中的 一个 允许文本中的超链接。 示例:

var maps = new Vue({
   el: "#maps",
   data: {
      selected: 'US County'
      maps = [
       { 
           name: 'US County'
           description: "This is where I want my **hyperlink** to go"
       }
      ]
   }
 })

我希望超链接位于单独文本中的此描述参数中。我尝试使用<a href...,但它不起作用。

我对 HTML 和 Vue JS 比较陌生,所以如果这个问题不完全有意义,我深表歉意。

【问题讨论】:

    标签: html vue.js


    【解决方案1】:

    如果使用 Vue 2,请查看 this page,它展示了如何绑定变量并将其显示为 HTML。您还需要确保将您的描述 + HTML 存储为 template literal

    模板应该类似于:

    <template>
      <div v-html="maps[0].description"></div>
    </template>
    

    注意描述中的反引号。这称为模板文字。您的脚本应类似于以下内容:

       var maps = new Vue({
       el: "#maps",
       data: {
          selected: 'US County'
          maps = [
           { 
               name: 'US County'
               description: `This is where I want my <a href="blahblah">link</a> to go`
           }
          ]
       }
     })
    

    【讨论】:

    • &lt;a v-bind:href="https://www.blahblah.com"&gt; click here &lt;/a&gt; within the description 参数,但它仍然没有生成超链接,整个内容作为文本字符串返回。
    • 更新了我的答案以进一步澄清。
    • 如果有帮助,请标记为答案。
    • 我这样做了,我能够获得要显示的超链接,但它不在所选的“地图”内。它在每个 #maps 参数中创建超链接,其中有 4 个。我只想显示其中一个(在文本描述中,它仍然被标记为整个文本字符串,即使使用模板文字
    • 创建超链接时,需要查看map.name是否等于selected。如果是,则显示超链接。如果没有您的代码,没有人能提供更多帮助,但请查看 vuejs.org/v2/guide/conditional.html 以获取有关条件渲染的帮助,这正是您所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 2019-07-12
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    相关资源
    最近更新 更多