Вызов объекта из другого файла

#dart #flutter

#dart #флаттер

Вопрос:

У меня есть некоторый код в файле main.dart ниже. Он будет push new Show() в show.dart файле.

main.dart

 import 'show.dart';
//.... 
Navigator.of(context).pop();
Navigator.of(context).push(new MaterialPageRoute(
builder: (BuildContext context) => new Show()));
//...
 Future<void> _getSomething() async {
  }
//...
  

и кнопка, которую я создаю, отображается.dart

                         //...                         
                        IconButton(
                            icon: Icon(
                              Icons.menu,
                              color: Colors.white,
                              size: 28,
                            ),
                            onPressed: () => print("back to main.dart and call _getSomething()"),
                          ),
  

Теперь, как я могу вернуться к main.dart файлу и вызвать _getSomething() его из show.dart файла?

Ответ №1:

Вы можете передать параметр (например, a bool ) в onPressed вызове, который затем решит _getSomething() , следует ли запускать или нет, когда вы переходите к main.dart .

В этой статье есть раздел под названием «Верни мне некоторые данные», в котором описывается, как передать значение на предыдущий экран. Еще одним преимуществом является то, что вы не добавляете дополнительные страницы в стек, если вы решили использовать Navigator.push() вызывающий странный поток, когда пользователь нажимает кнопку «Назад».