Angular - просмотр печатает старые значения вместе с новыми значениями - PullRequest
1 голос
/ 07 ноября 2019

Использование Angular. У меня есть переменная modelResponse, которая обновляется и печатает новое значение. Но наряду с этим, в html, также печатаются все его старые значения.

Я использовал двухстороннее связывание данных для modelResponse в html [(ngmodel)] = {{{{modelResponse}}}}

home-page.component.html

<span><a mat-raised-button style="margin-left:5rem" color="accent" (click)=show()><b>Score the
      Model</b></a></span>
<br>
<br>


<div class=" example-container" *ngIf=showdirectPredict>
  <form
    style="background-color: cornsilk; size: 0.8rem; font-style: italic;font-family: Arial, Helvetica, sans-serif;font-size: 0.8rem;border-top-right-radius: 0.5rem;border-bottom-left-radius: 0.5rem;border-bottom-right-radius: 0.5rem;border-top-left-radius: 0.5rem"
    (ngSubmit)="makepredictrequest()" #myForm="ngForm">
    <p>
      <br>
      <b style="margin-left: 1rem;">Enter the Embedding Dimensions</b>
      <br>
      <br>
      <mat-form-field class="fields" appearance="fill" style="margin-left:1rem">
        <mat-label>Enter ED d0</mat-label>
        <input matInput placeholder="d0" [(ngModel)]="dee0" name="d0-dimension">
        <!--   <mat-hint>We need your name for the ID badge ;) !</mat-hint>-->
      </mat-form-field>



      <button mat-raised-button type="submit" style="margin-left:2rem" color="primary" md-raised-button>Submit</button>
      <button mat-raised-button type="submit" style="margin-left:1rem" color="primary" (click)=dontshow()
        md-raised-button>Close</button>

      <b style="margin-left: 10rem;"> RESULT : This Non-CRU customer belongs to Cluster Number : {{modelResponse}} </b>

    </p>

    <br>
    <br>
  </form>

home-page.component.ts

import { Component, OnInit } from '@angular/core';
import { User } from '../User.model';
import { Embeddings } from '../embeddings.model';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { AccountService } from '../account.service';

import { D0embed } from '../d0embed';

@Component({
  selector: 'app-home-page',
  templateUrl: './home-page.component.html',
  styleUrls: ['./home-page.component.css']
})


export class HomePageComponent implements OnInit {

  showdirectPredict = false;
  modelResponse: any;
  lastResponse: any;
  modelname: any;
  dee0: any;
  ed0: D0embed;
  d0: D0embed[] = [];

  embedding: Embeddings = new Embeddings();// initiate all arrays in this model via constructor or here
  modelResponseString: any;

  constructor(private serv: AccountService) {

  }

  ngOnInit() {
  }



  makepredictrequest() {

    console.log('In makepredictrequest()');

    this.ed0 = this.dee0;

    this.embedding.d0.push(this.ed0)

    this.serv.scoreModel(this.embedding).subscribe((data: any) => {


      this.modelResponse = data['value'];
      console.log('Request finished');
      this.lastResponse = this.modelResponse[this.modelResponse.length - 1];
      console.log('The data received is :' + this.lastResponse);



    });

  }

  show() {
    this.showdirectPredict = true;
  }

  dontshow() {
    this.showdirectPredict = false;
  }
}

Использование

РЕЗУЛЬТАТ: ЭтоКлиент, не являющийся клиентом CRU, принадлежит номеру кластера: {{modelResponse}}

дает мне, например,

При первом нажатии на ScoreModel (),

РЕЗУЛЬТАТ: Это неКлиент CRU принадлежит к номеру кластера: 5

При повторном щелчке по ScoreModel (), РЕЗУЛЬТАТ: Этот клиент без CRU принадлежит к номеру кластера: 5, 13

При третьем щелчке по ScoreModel (), РЕЗУЛЬТАТ: Этот клиент без CRU принадлежит номеру кластера: 5, 13, 2

Все, что я хочу видеть каждый раз, это конечно текущее значение номера кластера, то есть modelResponse.

1 Ответ

0 голосов
/ 09 ноября 2019

Кажется, что поле modelResponse - это массив чисел, а lastResponse - последнее число в этом массиве, то есть значение, которое вам нужно. Но привязка шаблона выглядит как This Non-CRU customer belongs to Cluster Number : {{modelResponse}}.

Попробуйте изменить его на This Non-CRU customer belongs to Cluster Number : {{lastResponse}}.

...