Angular 8: duplica datos cuando vuelvo a la misma ruta

tengo un problema con angular que no logro comprender. tengo una aplicacion hecho con angular 8 y tengo un componente en localhost:4200/inicio y tengo otro componente en localhost:4200/tabla resulta que cuando navego entre los dos componentes usando

<a mat-list-item routerLink="/inicio"></a> <a mat-list-item routerLink="/tabla"></a> 

me duplica la información.

muestro cantidad de registro que realmente tiene la tabla introducir la descripción de la imagen aquí

cuando navego de nuevo a /inicio y despues a /tabla (sin recargar el navegador) introducir la descripción de la imagen aquí

al recargar el navegador me vuelve a la cantidad de registros originales (13), lo único que supongo que pasa es que guarda datos en el caché pero no se como areglar ese problema ni por donde comenzar arreglar, si me pueden aunque sea que pasa se lo agradecería mucho porque me urge areglar ese problema

NOTA: la información la leo en TablaComponent

   obtenerInfo() {       this.http.get('url').subscribe((data) => {          // aqui lleno la informacion de la tabla       });    }  

¿Cómo llenar un arreglo con datos de un servicio en angular?

Tengo esto en ejemplo.component.ts
Quiero reemplazar los arreglos de columns por datos de un servicio que funciona a la perfección

ngAfterViewInit() {     const chart2 = c3.generate({       bindto: '#product-sales',       data: {         columns: [           ['Iphone', 8, 6, 3, 7, 9, 10, 14, 12, 11, 9, 8, 7, 10, 6, 12, 10, 8],           ['Ipad', 7, 2, 8, 3, 4, 5, 7, 6, 5, 6, 4, 3, 3, 12, 5, 6, 3]         ],         type: 'spline'       } }) } 

El servicio solo cuenta con dos filas para este ejemplo: http://rubbercorp.net/servicio/serviciosales.php

export class SalesComponent implements AfterViewInit {   listasales:Sale[];   constructor(private salesService:SalesService) { }    ngOnInit(){     this.leerInfo();   }    leerInfo():void{     this.salesService.leerinfo().subscribe(       (res:Sale[]) =>{           this.listasales = res;       }     )   } } 

He intentado reemplazar los arreglos de columns por Sale[0] y Sale[1] respectivamente pero no obtengo resultado esperado

columns: [           Sale[0],           Sale[1]         ] 

Como cambiar el [src] de una imagen en Angular 7

Tengo mi vista en Angular y quiero cambiar la imagen, utilicé databinding pero al darle click no me cambia de imagen, que estoy realizando mal ? Inclusive al pintar el valor de superball no me arroja nada en la consola web, gracias.

Deseo cambiarla por '../../../assets/images/png/up-arrow.png'

.html

<td style="padding-left: 50px;cursor: pointer;" mat-cell *matCellDef="let element">     <img (click)="functioninTypeScript($  event.target)" style="width: 30px;height:30px" [src]="superball" />  </td> 

.ts

export class PokelistaComponent implements OnInit, OnDestroy {  superball = '../../../assets/images/png/superball.png';  constructor() ...  functioninTypeScript(image: any) {     this.superball = image.src;     this.superball = (image.src === this.superball) ?     this.superball = '../../../assets/images/png/up-arrow.png' : this.superball;     console.log(this.superball);   } 

Extraer el resultado de un suscribe dentro de una validación angular

Estoy tratando de pasar el resultado obtenido en el suscribe pero no lo he logrado, ya he usado varias opciones y no he podido con ninguna.

La función esta correcta el valor dentro del suscribe es el correcto pero no se como sacarlo de allí.

Lo he intentado de las siguientes formas:

Forma 1:

  referenciaValidator(control: FormControl) {     const referencia = control.value;     this.pagosOnlineService.validarReferencia(referencia)       .subscribe(         data => {           if (data['estado_validacion']) {             this.numero_referencia.errors.invalidReferencia = false;           } else {             this.numero_referencia.errors.invalidReferencia = true;           }         },         error => {           this.numero_referencia.errors.invalidReferencia = true;         }       );   } 

Forma 2:

  referenciaValidator(control: FormControl) {     const referencia = control.value;     let estado_validacion;     this.pagosOnlineService.validarReferencia(referencia)       .subscribe(         data => {           estado_validacion = data['estado_validacion'];         },         error => {           estado_validacion = false;         }       );     if (estado_validacion) {       return {invalidReferencia: !estado_validacion};     } else {       return null;     }   } 

Forma 3:

  referenciaValidator(control: FormControl) {     const referencia = control.value;     let estado_validacion;     this.pagosOnlineService.validarReferencia(referencia)       .subscribe(         data => {           estado_validacion = data['estado_validacion'];           if (estado_validacion) {             return {invalidReferencia: !estado_validacion};           } else {             return null;           }         },         error => {           return {invalidReferencia: true};         }       );   } 

Ninguna funciona, si alguien sabe como lo puedo hacer les agradezco.

SharePoint Wiki Page CheckIn not working for IE after adding Angular code in web part

This is a SharePoint 2013 Enterprise Wiki Site and a new Angular 7 app is embedded to Content editor web part in master page. Once a Wiki Page is edited CheckIn ribbon button can be clicked. But the once Continue is clicked in confirmation popup nothing happens. This happens only in Internet Explorer and in Chrome works fine.

If that Angular 7 app is removed CheckIn functionality works fine. Seems there is some conflict due to Angular code.

imprimir un dato obtenido desde un combobox angular

estoy usando un combobox que saque desde el angular material y me gustaria que un textbox saliera un dato, segun la opcion seleccionada del combobox imprimiera algo en el textbox un dato de esa tabla, por ejemplo que en una tabla usuario tener los datos id , nombre , apellido . al seleccionar un id que se muestra en el combobox mostrar en un textbox el nombre relacionado con ese id del usuario ne este caso .

este es el componente ts

examenes: Observable<string[]>; examen = new Examen(); pacientes:Paciente[]; categorias: Categoria[]; getPacientes(): void {     this.dataService       .getPacientes()       .then(pacientes => this.pacientes = pacientes);   }   getCategorias(): void {     this.dataService       .getCategorias()       .then(categorias => this.categorias = categorias);   }     redirect(){alert("Se Agrego Correctamente");         this.router.navigate(['./examenes'])     }     ngOnInit() {  this.getCategorias();         this.getPacientes();     }} 

lo siguente es el combobox con el textbox que quiero usar

        <mat-form-field flex>                     <input matInput                     [(ngModel)]="examen.nombrePac"                     #elementDescripcionControl="ngModel"                     type="text"                      name="NombrePac"                     placeholder="Nombre Paciente"                     maxlength="30"                     readonly                     >                     <mat-hint alig="start">                         <span [hidden]="elementDescripcionControl.pristine || !elementDescripcionControl.errors?.required" class="tc-red-600"> Requerido                         </span>                     </mat-hint>                 </mat-form-field> 
 <mat-form-field>   <mat-label>Listado de Pacientes</mat-label>   <mat-select  [(ngModel)]="examen.rutPac" name="rutPac">     <mat-option *ngFor="let pacientes of pacientes" name="rutPac"     [value]="pacientes.rutPac"               >       {{pacientes.rutPac}}     </mat-option>   </mat-select> </mat-form-field> 

Update usando restframework y angular

hola estoy usando django como backend y angular como fronted , me gustaria saber como hacer un Update en una tabla (editar registro), leyendo vi que se hacia con un push de echo tengo las consultas insert y delete funcionando sin ningun problema

este es el codigo que estoy usando para el insert

createUsuario(d: Usuario): Promise<Usuario> {         return this.http             .post("http://127.0.0.1:8000/users/", JSON.stringify(d), { headers: this.headers })             .toPromise()             .then(res => res.json() as Usuario)     } 

mi duda es la siguente , se podra adaptar esa consulta para hacer el Update? pd: como se ve estoy usando json para pasar los datos

Angular Cli – Url editable en producción

Tengo una pequeña aplicación en producción en angular 7, y por curiosidad me di cuenta que por ejemplo, si ingreso directamente con el nombre de mi dominio me lleva al login de la aplicación ya que internamente esta establecido de esa forma, pero si yo le ingreso por ejemplo: www.midocminio.com/login manualmente… me sale “objeto no localizado”.

A lo cual me lleva a la pregunta, si hay alguna forma dentro de angular para poder hacer editables en producción las rutas, evitando que salga ese mensaje de error?

Problemas con sweetalert2 – Angular // A rest parameter must be of an array type

Date: 2019-09-23T14:48:08.494Z - Hash: 1d5dfacd2a56d00cec4b - Time: 2967ms 

5 unchanged chunks chunk {pages-pages-module} pages-pages-module.js, pages-pages-module.js.map (pages-pages-module) 404 kB [rendered] ℹ 「wdm」: Compiled successfully. ERROR in node_modules/sweetalert2/sweetalert2.d.ts(23,19): error TS2370: A rest parameter must be of an array type. node_modules/sweetalert2/sweetalert2.d.ts(361,41): error TS8020: JSDoc types can only be used inside documentation comments. node_modules/sweetalert2/sweetalert2.d.ts(361,50): error TS8020: JSDoc types can only be used inside documentation comments. node_modules/sweetalert2/sweetalert2.d.ts(361,59): error TS8020: JSDoc types can only be used inside documentation comments.