0
votes

Comment initialiser le service de composant?

J'utilise une instande séparée de service dans chaque compteur:

providers: [PaginationService(0, 20)],


0 commentaires

3 Réponses :


1
votes

Une solution serait d'injecter le service comme normal, puis dans votre constructeur de votre composant, vous pouvez appeler une méthode sur le service qui effectue la configuration avec les valeurs fournies, quelque chose du long des lignes de:

@Component({
    selector: 'app-orders',
    templateUrl: './orders.component.html',
    styleUrls: ['./orders.component.scss']
})
export class OrdersComponent implements OnInit {

  constructor(private paginationService: PaginationService) {
    this.paginationService.setup(0, 20);
  }

  ngOnInit() { }

}


0 commentaires

1
votes

Vous pouvez créer un injectiontokoken pour eux.

injection.tokens.ts xxx

composant.ts xxx

pagination.service xxx

vous pouvez Vérifier le travail Stackblitz


3 commentaires

Pourquoi ('paginationoffset'); et en utilisant sur majuscule pagination_offset,


Quelles valeurs doivent être ici ('offset de pagination »)?


Il cree une nouvelle injection avec une chaîne unique. Vous pouvez changer ou remplacer. De plus, c'est majuscule parce que vous ne pouvez pas l'injecter directement. Ce n'est pas un service ou quelque chose qui vient de goûter à l'échelle mondiale.



2
votes

Vous pouvez utiliser un fournisseur d'usine, comme celui-ci: xxx

Vous pouvez trouver plus d'échantillons dans les documents angulaires ici .


5 commentaires

Tapez '{paginationservice: type de paginationservice; usefactory: () => paginationservice; } 'n'est pas assignable au type "fournisseur". L'objet littéral peut spécifier uniquement des propriétés connues et «paginationservice» n'existe pas dans le type «fournisseur»


"{Paginationservice: type de paginationservice; usefactory: () => paginationservice;}" C'est le message d'erreur? Sur la fonction Usefactory Flèche manque le mot-clé "Nouveau". Je vais faire un échantillon Stackblitz.


Je reçois toujours la même erreur: `Fournisseurs: [{paginationservice, usefactory: () => Nouveaux paginationservice (0, 20)}, ApplicationsVice],`


désolé j'ai oublié fournir


J'ai mis à jour l'échantillon pour utiliser les composants multiples: Stackblitz.com/edit/angular-ivy-e2HBWJ < / a>