Cómo llamar al método en BaseviewModel Clase de la clase de los padres Justo en las afueras del método de construcción del widget (BuildContext contexto) -- flutter campo con dart campo con mvvm camp Relacionados El problema

How to call method in BaseViewModel class from parent class just outside the Widget build(BuildContext context) method


0
vote

problema

Español

Estoy usando la arquitectura MVVM y usé dependencia apilada para esto. Quiero llamar a un método en la clase ViewModel desde la clase View. En este punto de vista, el método de activación de la clase es Widget build(BuildContext context) , por lo que no puedo obtener referencia de la clase ViewModel. ¿Hay alguna forma de lograr esto?

Para obtener más detalles, he agregado mi código para el widget sin estado:

  class ECRView extends StatelessWidget {   @override   Widget build(BuildContext context) {     // TODO: implement build     SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);     return ViewModelBuilder<ECRViewModel>.reactive(       onModelReady: (model)  {         model.init(context);       },       builder: (context, model, child) => Container(         padding: EdgeInsets.all(AppSize.extraSmall),         child: Column(           mainAxisSize: MainAxisSize.min,           children: [             Container(               width: screenSize.width,               height: 1.5,               color: Colors.black12,             ),             SizedBox(               height: screenSize.height * .02,             ),           ],         ),       ),       viewModelBuilder: () => ECRViewModel(),     );   }    //Trigger ECR Model Method   getTriggered(){      //From here I want to call   } }   
Original en ingles

I am using MVVM architecture and used stacked dependency for this. I want to call a method exist in ViewModel class from View class. In this view class trigger method is Widget build(BuildContext context) So I am unable to get reference of ViewModel class. Is there any way to achieve this.

For more details I have added my code for Stateless Widget:

class ECRView extends StatelessWidget {   @override   Widget build(BuildContext context) {     // TODO: implement build     SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);     return ViewModelBuilder<ECRViewModel>.reactive(       onModelReady: (model)  {         model.init(context);       },       builder: (context, model, child) => Container(         padding: EdgeInsets.all(AppSize.extraSmall),         child: Column(           mainAxisSize: MainAxisSize.min,           children: [             Container(               width: screenSize.width,               height: 1.5,               color: Colors.black12,             ),             SizedBox(               height: screenSize.height * .02,             ),           ],         ),       ),       viewModelBuilder: () => ECRViewModel(),     );   }    //Trigger ECR Model Method   getTriggered(){      //From here I want to call   } } 
        

Lista de respuestas

0
 
vote

Esto debería funcionar en su caso, si desea utilizar el modelo en los widgets

  <input type="button">8  

Esta no es la mejor opción para la arquitectura apilada

  <input type="button">9  
 

This should work on your case, if you want to use the model on widgets

class _MyWidget extends ViewModelWidget<NameViewModel> {   @override   Widget build(BuildContext context, NameViewModelmodel model) {    //can call model      return //some code   } } 

This is not the best option for stacked architecture

class _MyWidget extends StatefulWidget {   final NameViewModelmodel model;    const _MyWidget({Key key, this.model}) : super(key: key);    @override   __MyWidgetState createState() => __MyWidgetState(); }  class __MyWidgetState extends State<_MyWidget> {   @override   Widget build(BuildContext context) {     return Container();   } } 
 
 
   
   

Relacionados problema

47  WPF (MVVM): Cerrando una vista desde ViewModel?  ( Wpf mvvm closing a view from viewmodel ) 
¿Alguien se encuentra con una forma inteligente de cerrar una vista en un VisModel usando MVVM? ¡Tal vez haya una forma de usar la unión para señalar la vis...

0  Artensource como un enlace de dichavewiew con nulo  ( Itemssource as dataview binding with null ) 
Hice mi propio control que hereda de DataGrid para tener una propiedad llamada CurrentView Witch se establece en el evento Los elementos de Evento, acaba de c...

2  ¿Son IronPhepthon o IronRuby bien adecuado para el patrón MVVM en WPF / Silverlight?  ( Are ironpython or ironruby well suited for the mvvm pattern in wpf silverlight ) 
He estado muy felizmente usando el patrón Modelo-ViewModel (MVVM) en aplicaciones WPF y Silverlight en combinación con C #. Declarative XAML Markup y la unión...

0  Virtualización de datos WPF en MVVM PATTEL  ( Wpf data virtualization in mvvm pattern ) 
, Quiero saber cómo puedo implementar la virtualización de datos en el patrón MVVM? He buscado pero no encontré la virtualización de datos utilizando el patrón...

14  Permitir solo la entrada numérica en el cuadro de texto WPF  ( Allow only numeric entry in wpf text box ) 
Me gustaría validar la entrada de usuario para asegurarse de que son enteros. ¿Cómo puedo hacerlo? Pensé en usar IDataErrorInfo , que parece ser la forma "co...

1  La mejor manera de adjuntar fila de DataGrid a EF  ( Best way to attach row from datagrid to ef ) 
Uso de MVVM y EF ... Tengo una unión de DataGrid a un modelo de vista (usando observableCollection). El modelo de vista tiene un comando Guardar que simplemen...

2  Manera correcta en MVVM para impulsar estados visuales  ( Proper way in mvvm to drive visual states ) 
Dado un presentador de contenido que puede mostrar una de las 4 páginas de aplicación diferentes, y quiero desvanecer / de otra parte, animar una transición e...

4  ¿Cómo crea un comando ONCLICK en WPF MVVM con un botón creado programáticamente?  ( How do you create an onclick command in wpf mvvm with a programmatically created ) 
Estoy escribiendo una aplicación WPF que crea programáticamente algunos botones. ¿Cómo creas un comando ONCLICK para un botón en ViewModel? Me gustaría agrega...

0  Conversión de la aplicación WPF / ADO.NET de datos de datos al patrón MVVM - Ejemplos  ( Converting wpf ado net data services application to the mvvm pattern example ) 
Tengo una aplicación WPF que fue escrita en C #. Esta solicitud no se ha escrito en mente con ningún patrón de diseño particular, pero como he aprendido .NET,...

1  La casilla de verificación DATCHOund de MVVM WPF no disparará eventos al ViewModel para estados revisados ​​y sin marcar  ( Mvvm wpf databound checkbox wont firing events to the viewmodel for checked and ) 
Tengo un CheckBox dentro de un DataGrid , usando wpf y mvvm; <DataGridTemplateColumn Width="80" Header="Enabled"> <DataGridTemplateColumn.CellTempla...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos