Есть ли способ создать гиперссылку в аргументе Vue

#html #vue.js

#HTML #vue.js

Вопрос:

У меня есть функция, которая создает текстовое поле, которое изменяется внутри каждого 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, поэтому прошу прощения, если этот вопрос не совсем имеет смысл.

Ответ №1:

Если вы используете Vue 2, ознакомьтесь с этой страницей, на которой показано, как привязать переменную и отобразить ее как HTML. Вы также захотите сохранить свое описание HTML в качестве литерала шаблона

Шаблон должен быть чем-то похожим на:

 <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`
       }
      ]
   }
 })
 

Комментарии:

1. <a v-bind:href="https://www.blahblah.com"> click here </a> внутри description аргумента, но он по-прежнему не генерирует гиперссылку, все возвращается в виде текстовой строки.

2. Обновил мой ответ для дальнейшего уточнения.

3. Если это помогло, пожалуйста, отметьте как ответ.

4. Я сделал это, и мне удалось отобразить гиперссылку, но ее нет в выбранной «карте». Он создает гиперссылку в каждом аргументе #maps, которых насчитывается 4. Я хочу, чтобы отображался только один из них (в текстовом описании он по-прежнему отображается как целая текстовая строка, даже при использовании литерала шаблона

5. При создании гиперссылки вам необходимо проверить, map.name равно выбранному. Если это так, то отобразите гиперссылку. Без вашего кода никто не сможет оказать гораздо большую помощь, но взгляните на vuejs.org/v2/guide/conditional.html за помощью по условному рендерингу, а это именно то, что вам нужно.