我需要帮助导出函数中变量的值

I need help exporting the values of a variable that is in a function

提问人:Gustavo Lopes 提问时间:7/27/2023 最后编辑:Brian Tompsett - 汤莱恩Gustavo Lopes 更新时间:7/27/2023 访问量:30

问:

我有一个代码,旨在在 HTML 页面上创建几条新闻。我正在使用返回新闻的 API。

在当前的代码中,我有三个功能:一个在屏幕上显示新闻,第二个在旁边显示新闻,第三个我在操作上遇到困难。其目的是跟踪点击的链接并返回包含点击新闻 ID 的数据属性。我设法成功实现了这部分,但是我无法将此ID分配给变量,我在函数外部声明了该变量,没有任何值。我想将此变量导出到另一个脚本中,在该脚本中,我将在屏幕上显示新闻。exibirNoticias()exibirNoticiasAside()openNoticias()idNoticias

const noticiaSection = document.querySelector('.noticias__container');
    const asideSection = document.querySelector('.aside__post');
    var noticias = [];
    var idNoticia;
    fetch("https://api-kwi5.onrender.com/v1/api/noticias")
    .then((response) => response.json())
    .then((data) => {
    noticias = data.response;
    console.log(noticias);
    exibirNoticias(noticias);
    exibirNoticiasAside(noticias);
    openNoticias(noticias);
    })
    .catch((erro) => {
    console.log(erro)
    function exibirNoticias(noticias) {   
    noticias.forEach(elemento => {
        console.log(elemento.id);
        noticiaSection.innerHTML += `<div class="noticias__cards">
        <a href="/pages/noticias-postagem.html" data-id="${elemento.id}" class="img__noticias--container">
          <img src="data:image/png;base64,${elemento.file}" alt="Dentistas fazendo um tratamento bucal em uma paciente" class="img__noticias--cards">
        </a>
        <div class="noticias__cards--conteudo">
          <a href="/pages/noticias-postagem.html" data-id="${elemento.id}" class="cards__conteudo--containertitulo">
            <h3 class="cards__conteudo--titulo">${elemento.titulo}</h3>
          </a>
          <div class="cards__conteudo--info">
            <ul class="conteudo__info--lista">
              <li class="conteudo__info--item">Maio 29,2023</li>
              <li class="conteudo__info--item">Notícia</li>
              <li class="conteudo__info--item">Dr.Wesley</li>
            </ul>
            <p class="conteudo__info--texto">${elemento.descricao}</p>
          </div>
          <a href="/pages/noticias-postagem.html" data-id="${elemento.id}"  class="noticias__btn">Continue lendo</a>
        </div>`


    });
 
}

function openNoticias(noticias) {
  const btnNoticiasId = document.querySelectorAll('[data-id]');
  // console.log(idNoticia)
  btnNoticiasId.forEach(e => {
    e.addEventListener("click", event => {
      event.preventDefault();
      console.log(e);
      idNoticia = e.getAttribute('data-id');
      console.log(idNoticia);
      })});
  }); 
  
}

function exibirNoticiasAside(noticias) {
    for(let i = 0; i < 3 ; i++) {
        asideSection.innerHTML += `
        <div class="aside__post--card">
              <a href="" data-id="${noticias[i].id}" class="post__card--imgcontainer">
                <img src="data:image/png;base64,${noticias[i].file}" alt="Dentista mostrando 4 mitos dos implante dentarios" class="post__card--img">
              </a>
              <span class="post__card--data">Junho 7,2023</span>
              <a href="#" data-id="${noticias[i].id}" class="post__card--titulo">${noticias[i].titulo}</a>
            </div>
        `
    }
}

我尝试导出变量 ,但它未定义。我正在寻找一种方法来导出这个变量,其中包含我在函数中分配给它的新值。但是,它总是未定义。在为函数赋值后,我尝试在函数内部使用 on,其中的变量显示它具有新值,但是当我导出它时,它仍然未定义。idNoticiasopenNoticia()console.log()idNoticiaopenNoticia()console.log

我需要帮助来解决此问题,因为我必须能够使用函数中找到的 ID 值导出此变量。然后,我想将此变量导出到另一个脚本,在该脚本中,我将在 API 中搜索具有相似 ID 的新闻项。从 API 中检索数据后,我会在屏幕上显示新闻。openNoticas()

JavaScript 函数 模块 var

评论


答: 暂无答案