Angular2 méthode de liaison d'erreur: “la valeur a changé après qu'il a été vérifiée”

Je suis en train de faire un cercle de conseil en Angular2. Pour l'exemple je veux faire 10 cercles, mais en réalité, ce nombre peut changer. Je veux calculer le rayon de chaque cercle, de sorte qu'il serait dynamique et non statique. Voir l'image par exempleAngular2 méthode de liaison d'erreur: “la valeur a changé après qu'il a été vérifiée”

C'est mon code

@Component({
    selector:"circle"
    template: `
  <svg>
    <circle *ngFor='#item of forLength #i=index #l=last #e=even'
            cx="50%" cy="50%" [style.r]="calculateRadius()" stroke="black" stroke-width="5" fill="white"></circle>
  <svg/>  
    `
})

export class CircleComponent{
    public maxRadius:number=25;
    public totalRounds:number=10;
    public x:number=30;

    public calculateRadius():number{
        var distanceBetweenCircles=this.maxRadius/(this.totalRounds-1);
        this.x-= distanceBetweenCircles;
        return this.x;
    }
}

Mais j'obtiens l'erreur suivante:

calculateRadius() in CircleComponent@7:30' has changed after it was checked. 
    Previous value: '-7.500000000000007'. 
    Current value: '-36.66666666666668' in [calculateRadius() in CircleComponent@7:30]

Est là peut-être une meilleure façon de la rédaction de cette boucle avec *ngFor au lieu de la rédaction du présent dans une autre méthode?

Où êtes-vous appeler calculateRadius() dans votre modèle? Où pouvez-vous définir le SVG r attribut dans votre modèle?
Désolé, j'ai écrit une erreur dans le code, j'ai maintenant mis à jour le code. J'utilise calculateRadius() dans le <cercle> tag

OriginalL'auteur Claudiu | 2016-02-29