Selector de componentes para la interfaz de inicio de sesión:cx-update-profile
Encuentre el nombre del componente correspondiente: UpdateProfileComponent
:
El componente tiene solo una instancia de FormGroup.
¿Cuándo se asigna el valor a la forma del servicio? Copie en la clase Servicio, en lugar de usar el generador de formularios, cree la instancia de FormGroup manualmente. El FormGroup
constructor recibe un objeto JSON como parámetro, la clave es el nombre de los controles vinculados al HTML y el valor es el valor inicial de estos controles.
Este grupo de formularios es patchValue
asignado :
URL de prueba:
http://localhost:4299/electronics-spa/en/USD/my-account/update-profile
Vincule el Elemento de entrada en el HTML a la instancia de FormControl en el Componente a través de la formControlName
directiva .
También existe tal is
uso :
protected user$ = this.userProfile
.get()
.pipe(filter((user): user is User => Boolean(user)));
Aquí is
hay una type guard
función, consulte este enlace .
Considere el siguiente ejemplo:
function isString(test: any): test is string{
return typeof test === "string";
}
function example(foo: any){
if(isString(foo)){
console.log("it is a string" + foo);
console.log(foo.length); // string function
}
}
example("hello world");
Si la función devuelve verdadero después de llamar a isString, prueba que el parámetro de entrada test
es realmente de tipo String. En este momento, el compilador de TypeScript considerará que en el isString
bloque de código IF protegido, foo
el debe ser string
, para que pueda se puede acceder directamente usando foo.length La propiedad de longitud de esta variable de cadena.
Setvalue y Patchvalue son métodos de Angular Formgroup. Ambos establecen el valor del control en el grupo de formulario. La diferencia obvia es que setvalue exclude
no eliminar ciertos controles, mientras que patchvalue sí.
Así que digamos que tenemos un grupo de formularios con 2 controles: Nombre y Edad.
Esto no funciona si queremos establecer el valor de un control, por lo que tenemos que establecer el valor de dos controles:
formgroup.setValue({
name: ‘Mocrosoft’, age: ‘25’});
Si un grupo de formularios contiene una cantidad considerable de instancias de control de formulario, es setValue
necesario enumerar todos los valores de estas instancias como setValue
parámetros de entrada de .