La guía paso a paso o código que encontrarás en este artículo es la resolución más sencilla y válida que hallamos a tus dudas o problema.
Solución:
Primero debe capturar una referencia de su componente secundario:
Luego puede usar esta referencia para llamar a métodos de componentes secundarios como lo hace en su código.
@code
ChildComponent child;
void ShowModal()
child.Show();
El espacio de nombres de su componente debe agregarse mediante un uso en la página o en _Imports.razor. Si su componente está en la subcarpeta Componentes/ChildComponent.razor entonces su espacio de nombres es YourAppNameSpace.Components
@using MyBlazorApp.Components
lee el código
Aquí hay un artículo que acabo de publicar sobre el tema usando Interfaces:
https://datajugglerblazor.blogspot.com/2020/01/how-to-use-interfaces-to-communicate.html
En este ejemplo, la página de índice es un objeto IBlazorComponentParent.
En el componente de inicio de sesión, la parte interesante es establecer la propiedad Parent, simplemente configura Parent=this:
La forma en que funciona es que el establecedor de la propiedad principal en el componente de inicio de sesión llama al método de registro en el elemento principal:
[Parameter]
public IBlazorComponentParent Parent
get return parent;
set
// set the parent
parent = value;
// if the value for HasParent is true
if (HasParent)
// Register with the parent to receive messages from the parent
Parent.Register(this);
Luego, en el componente o página principal, el método de registro almacena la referencia al componente:
public void Register(IBlazorComponent component)
// If the component object and Children collection both exist
if (NullHelper.Exists(component, Children))
// If this is the Login component
if (component.Name == "Login")
// Set the Login control
this.Login = component as Login;
// add this child
Children.Add(component);
En este punto, el padre y la página de inicio de sesión pueden comunicarse entre sí, ya que ambos contienen un método ReceiveData donde puede enviar mensajes.
Reseñas y calificaciones
No se te olvide dar recomendación a este artículo si te ayudó.