Angular обновить значение bool в Сервисе с помощью setfunction? - PullRequest
0 голосов
/ 23 января 2020

Привет, я пытаюсь обновить значение bool в моем сервисе, нажав кнопку через мой компонент. Я пытаюсь вызвать функцию setfunction, а затем изменить значение bool на противоположное значение. Таким образом, от true до false и при повторном нажатии от false до true.

Сервис

import { Injectable } from "@angular/core";

import { Melding } from "./melding";
import { Subject } from "rxjs";

@Injectable({
    providedIn: "root"
})
export class MeldingService {
    checkedChange: Subject<Boolean> = new Subject<Boolean>();
    private meldingen = new Array<Melding>(
        { id: 1, name: "Zinc verstopt Machine A", checked: false, roleId: 1 , beschrijving: "Ga de machine maken. dit is de beschrijving lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum "},
        { id: 2, name: "Storing Machine A", checked: false, roleId: 1 , beschrijving: "Ga de machine maken. dit is de beschrijving"},
        { id: 3, name: "Zinc verstopt Machine B", checked: false, roleId: 2 , beschrijving: "Ga de machine maken. dit is de beschrijving"},
        { id: 4, name: "Storing Machine B", checked: false, roleId: 2 , beschrijving: "Ga de machine maken. dit is de beschrijving"},
        { id: 5, name: "Defect Machine B", checked: false, roleId: 2 , beschrijving: "Ga de machine maken. dit is de beschrijving"},
        { id: 6, name: "Zinc verstopt Machine C", checked: false, roleId: 3 , beschrijving: "Ga de machine maken. dit is de beschrijving"},
        { id: 7, name: "Zinc verstopt Machine D", checked: false, roleId: 4 , beschrijving: "Ga de machine maken. dit is de beschrijving"},
        { id: 8, name: "Zinc verstopt Machine E", checked: false, roleId: 5 , beschrijving: "Ga de machine maken. dit is de beschrijving"},
        { id: 9, name: "Storing Machine E", checked: false, roleId: 6 , beschrijving: "Ga de machine maken. dit is de beschrijving"}
    );

    setChecked(id: number) {
        var melding = this.getMelding(id);
        console.log(!melding.checked);
        this.checkedChange.next(!melding.checked);

    }
}

Компонент

import { ActivatedRoute } from "@angular/router";

import {Melding} from "../melding/melding";
import {MeldingService} from "../melding/melding.service";

@Component({
  selector: 'ns-melding-detail',
  templateUrl: './melding-detail.component.html'
})
export class MeldingDetailComponent implements OnInit {
  melding: Melding;

  constructor(
    private meldingService: MeldingService, 
    private route: ActivatedRoute) { }

  ngOnInit(): void {
    const id = +this.route.snapshot.params.id;
    this.melding = this.meldingService.getMelding(id);
  }

  onButtonClick(id: number) { 
    this.meldingService.setChecked(id);
  } 
}```

1 Ответ

0 голосов
/ 23 января 2020

Какой у вас вопрос? А что делает getMelding? не смешивайте голландский и английский sh:)

в вашем setChecked методе, вы не должны писать meldingen[id].checked = !meldingen[id].checked?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...