En este proyecto, aprenderás a mostrar dinámicamente los datos de la página de inicio utilizando Vue.js. Este proyecto está diseñado para ayudarte a entender el proceso de obtener datos de un archivo JSON y renderizarlos en un componente de Vue.js.
👀 Vista previa
🎯 Tareas
En este proyecto, aprenderás:
Cómo solicitar la lista de publicaciones de la página de inicio a través de Axios y vincularla al componente List.vue.
Cómo implementar el estilo y el efecto de la disposición de la página de inicio para que coincida con el diseño proporcionado.
🏆 Logros
Después de completar este proyecto, podrás:
Utilizar Axios para obtener datos de un archivo JSON.
Vincular los datos obtenidos a un componente de Vue.js y renderizarlos en la plantilla.
Dar estilo a los componentes para que coincida con un diseño específico.
Integrar diferentes componentes de Vue.js para crear una página de inicio completa.
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
html(("HTML")) -.-> html/LayoutandSectioningGroup(["Layout and Sectioning"])
html(("HTML")) -.-> html/MultimediaandGraphicsGroup(["Multimedia and Graphics"])
html(("HTML")) -.-> html/AdvancedElementsGroup(["Advanced Elements"])
html(("HTML")) -.-> html/BasicStructureGroup(["Basic Structure"])
html/BasicStructureGroup -.-> html/basic_elems("Basic Elements")
html/BasicStructureGroup -.-> html/head_elems("Head Elements")
html/LayoutandSectioningGroup -.-> html/layout("Layout Elements")
html/MultimediaandGraphicsGroup -.-> html/multimedia("Multimedia Elements")
html/AdvancedElementsGroup -.-> html/inter_elems("Interactive and Dynamic Elements")
subgraph Lab Skills
html/basic_elems -.-> lab-445739{{"Dinamización de los datos de la página de inicio"}}
html/head_elems -.-> lab-445739{{"Dinamización de los datos de la página de inicio"}}
html/layout -.-> lab-445739{{"Dinamización de los datos de la página de inicio"}}
html/multimedia -.-> lab-445739{{"Dinamización de los datos de la página de inicio"}}
html/inter_elems -.-> lab-445739{{"Dinamización de los datos de la página de inicio"}}
end
Configurar la estructura del proyecto
En este paso, configurarás los archivos y la estructura del proyecto. Sigue los pasos siguientes para completar este paso:
Abre la carpeta del proyecto. La estructura de directorios es la siguiente:
components/List.vue es el componente de lista de artículos que se agregará para este desafío.
public/static/data/list.json es el archivo de datos para obtener la lista de artículos.
public/static/images es el archivo de imágenes utilizado para la lista de artículos.
A continuación, descarga las dependencias utilizando el comando npm install en la terminal, espera a que las dependencias terminen de descargarse y luego inicia el proyecto utilizando el comando npm run serve.
Una vez que el proyecto se inicia correctamente, haz clic en "Web 8080" para previsualizarlo en tu navegador. El efecto de ejecución de la página se muestra en la siguiente imagen.
Completar la función de visualización de la lista
En este paso, aprenderás a solicitar los datos de la lista de publicaciones de la página de inicio a través de axios y vincularlos al componente List.vue.
Abre el archivo List.vue ubicado en la carpeta src/components.
Importa la librería axios bajo <script>:
// TODO
import axios from "axios";
En la función data(), define una propiedad dataList para almacenar los datos de la lista:
data() {
return {
dataList: []
};
}
En el hook de ciclo de vida created(), llama al método getList() para obtener los datos de la lista:
created() {
this.getList();
}
Implementa el método getList() para obtener los datos del archivo public/static/data/list.json:
Este paso garantiza que los datos de la lista de publicaciones de la página de inicio se obtengan del archivo public/static/data/list.json y se vinculen al componente List.vue.
Siguiendo estos pasos, has completado la dinamización de los datos de la página de inicio, incluyendo la obtención de los datos del archivo public/static/data/list.json y la renderización de los elementos de la lista en el diseño deseado.