Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Angular] Appeler un composant unique dans parent

appeler un composant créé par service dans un composant parent créé pa

    1 septembre 2020 à 16:09:49

    Bonjour à tous et merci de l'attention que vous portez à mon problème,

    Je souhaite créer un système de disposition automatique de vidéo selon des informations qui viendraient d'un serveur externe.

    Pour simuler le serveur externe, j'ai créé deux services :

    disposition.service.ts : génère les vidéos

    import { Subject } from "rxjs/Subject";
    import { Injectable } from '@angular/core';
    
    @Injectable({
      providedIn: 'root'
    })
    
    export class DispositionClassic {
      dspSubject = new Subject<any[]>();
    
      private dispositions = [
        {
          name: "disposition en haut à gauche",
          color: "green",
          width: "600",
          height:"960",
        },
        {
          name: "disposition en haut à droite",
          color: "purple",
          width: "500",
          height:"400",
        },
    
        {
          name: "disposition en haut à gauche",
          color: "red",
          width: "600",
          height:"960",
         
        },
        {
          name: "disposition en haut à droite",
          color: "black",
          width: "500",
          height:"400",
         
        },
    
    
       
      ];
    
      emitDispositionSubject() {
        this.dspSubject.next(this.dispositions.slice());
      }
    }
    

    layout.service.ts :génère les layout contenant les vidéo et leur positionnement

    import { Subject } from "rxjs/Subject";
    import { Injectable } from '@angular/core';
    
    @Injectable({
      providedIn: 'root'
    })
    
    export class LayoutClassic {
      laytSubject = new Subject<any[]>();
    
      private layouts = [
        {
          name: "layout en haut à gauche",
          color: "blue",
          width: "960",
          height:"600",
        },
    
        {
          name: "layout en haut à droite",
          color: "yellow",
          width: "960",
          height:"600",
        },
    
        {
          name: "layout en bas à gauche",
          color: "yellow",
          width: "960",
          height:"600",
        },
    
        {
          name: "layout en bas à droite",
          color: "blue",
          width: "960",
          height:"600",
        },
    
      ];
    
      emitLayoutSubject() {
        this.laytSubject.next(this.layouts.slice());
      }
    }

    J'ai créé également deux composants (layout et disposition) qui ont chacun un composant enfant : layout-mechanism et disposition-mechanism.

    j'appelle depuis ma page principale le composant layout qui appelle le composant layout-mechanism qui génère les layouts (fonctionne très bien). Puis dans mon composant layout-mechanism, j'appelle mon composant disposition qui appelle mon composant disposition mechanism.

    Et c'est là que ça coince : mes dispositions sont toutes crées dans chaque layout :

    Je cherche donc un moyen pour que chaque layout créé appelle une seule disposition (chacune à la suite) pour que mes 4 dispositions appraissent chacunes dans une layout.

    une fois encore, merci de votre attention.



    -
    Edité par Pierre Baron 2 septembre 2020 à 10:22:58

    • Partager sur Facebook
    • Partager sur Twitter

    "Même le dernier d'une course est devant ceux qui ne courent pas"

    [Angular] Appeler un composant unique dans parent

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown