как привязать img src в файле json к моему шаблону

#image #vue.js

#изображение #vue.js

Вопрос:

Привет, я начинаю с VueJS, но у меня проблема, как подключить IMG src в моем шаблоне с записью URL в моем файле JSON. например, когда у меня есть какой-то продукт, и мне нравится показывать полный логотип для каждой статьи, мне нужно добавить URL, существующий в файле JSON, в src IMG.как я это делаю, пожалуйста, спасибо

   <img src="info.imglogo" alt="Media Aside" />
  <span v-text="info.logotitle"></span>
 </template>
var infos = [
   {
       compteur: 1,
       imglogo: "../imgs/theme.jpg",
       logotitle: "Themeforest",
       title: "Thrive Themes",
       description:
           "Conversion Focused WordPress Themes amp; Plugins, built from the ground up to make your entire website convert more of your visitors into subscribers, customers amp; clients.",
       link1: "Visit ThriveTheme",
       link2: "Read Review",
       url: "../imgs/theme.jpg"
   },
   {
       compteur: 2,
       logotitle: "Elegant",
       title: "Sub-Ex",
       description: "com.goodreads.Tres-Zap",
       link1: "Dr",
       link2: "Honorable",
       url: "../imgs/theme.jpg"
   },
];

export default {
   data() {
       return {
           infos: infos
       };
   },
   name: "Home",
   components: {}
};
</script>
  

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

1. я настоятельно рекомендую вам использовать такие инструменты, как codesandbox.io

Ответ №1:

вот так.

  <template>
  <div v-for="(info, index) in infos" :key="index">
   <img :src="info.imglogo" alt="Media Aside" v-if="info.imgLogo != undefined" />
   <span v-text="info.logotitle"></span>
  </div>
 </template>
  

Ответ №2:

Вы можете сделать следующее:

 <img :src="info.imglogo" alt="Media Aside" />
  

Объяснение:

Если вы используете переменные, а не текст, вам нужно добавить в свои HTML-атрибуты «:»

Вот рабочий код. Замените весь ваш файл vue на этот:

     <template>
      <div>
        <div v-for="info in infos" :key="info.compteur">
          <img :src="info.imglogo" alt="Media Aside" />
          <span v-text="info.logotitle"></span>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      name: "Home",
      components: {},
      data() {
        return {
          infos: [
            {
              compteur: 1,
              imglogo: "../imgs/theme.jpg",
              logotitle: "Themeforest",
              title: "Thrive Themes",
              description:
                "Conversion Focused WordPress Themes amp; Plugins, built from the ground up to make your entire website convert more of your visitors into subscribers, customers amp; clients.",
              link1: "Visit ThriveTheme",
              link2: "Read Review",
              url: "../imgs/theme.jpg",
            },
            {
              compteur: 2,
              logotitle: "Elegant",
              title: "Sub-Ex",
              description: "com.goodreads.Tres-Zap",
              link1: "Dr",
              link2: "Honorable",
              url: "../imgs/theme.jpg",
            },
          ],
        };
      },
    };
    </script>
  

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

1. это сработало бы только в том случае, если бы он перебирал этот информационный массив

2. когда у меня есть, например, данные о 100 людях, и мне нужно показать фотографии в моем шаблоне. как я использую ссылку на изображение для каждого объекта и соединяю их с src

3. @jalloul попытайтесь сделать рабочий codesandbox.io тогда я смогу тебе помочь. мне жаль говорить, но для получения помощи в стеке вам нужно немного больше усилий, брат.