首页
学习
活动
专区
圈层
工具
发布

Flutter中的基本路由、命名路由、替换路由,返回到根路由

第2步,将命名路由配置的相关代码都分离到Routes.dart中: //Routes.dart import 'package:flutter/material.dart'; import 'package...:flutter_app_google/pages/SearchPage.dart'; //配置命名路由信息 final routes = { //如果需要传参,那么在配置的时候加上{arguments...其实,我们还可以对main.dart中的代码进一步进行优化,也就是说,我们还可以将 Tabs 这个主页面也通过命名路由进行管理,代码如下: //Routes.dart //配置命名路由信息 final...createState() => _DetailPageState(arguments: arguments);//3,将参数值传递给_DetailPageState } class _DetailPageState...=0}) : super(key: key);//2,重新写构造函数 _TabsState createState() => _TabsState(this.currentIndex);//3,将参数值传递给

10.1K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为 JavaScript 开发人员准备的 Dart 参考教程

    Dart 是 Flutter 主要的开发语言,这一篇文章主要为 JavaScript 开发人员准备的 Dart 教程,我会用很详细的对比来参考,力争 JavaScript 开发人员可以快速的熟练使用 Dart...,Dart2 开始它变成了一个强类型的语言,JavaScript 开发人员可以类比你在使用 TypeScript 。...funcs = (){} 多数情况下 Dart 的函数和 JavaScript 的函数都有一样的特性,如: 将函数当做参数进行传递 将函数直接赋值给变量 对函数进行解构,只传递给函数一部分参数来调用它,...(dd); 字符串模板 JavaScript 的模板和 Dart 一样,都是一个表达式; javascript const d = 'icepy';`hello ${d}`; function dd(...非常一致的是 Dart 也使用 class 来定义一个类,使用 extends 来完成继承,与 JavaScript 不同的是 Dart 有更为丰富的功能; 构造函数 JavaScript class

    72020

    深入理解 Dart 函数 - 掌握跨端开发核心技能

    我是程序员 NEO 让我们开始今天的技术分享~ 前言 在 Dart 和 JavaScript 中,函数是一种将代码封装以便重用使用的基本构建块 这两种语言在定义和使用函数方面有很多相似之处 但是呢,也有一些关键的差异...中,命名参数的默认值不能是 null 异同点 类型注释 Dart:静态类型语言,可以(但不是必须)在函数参数和返回值上指定类型 JavaScript:动态类型语言,不需要(也不能)在函数参数或返回值上指定类型...默认参数和可选参数 Dart:支持命名可选参数(使用大括号 {})和位置可选参数(使用方括号 []) Dart: 可以为可选参数提供默认值 JavaScript:不支持命名可选参数,但可以通过对象解构来模拟...JavaScript:支持默认参数值 函数表达式 Dart 和 JavaScript 都支持匿名函数或箭头函数(=> 和 () => ) 上下文绑定 在 JavaScript 中,函数中的 “this...,函数也是对象,所以函数可以赋值给变量,也可以作为参数传递给其他函数

    18510

    Dart-函数(上)

    前言在 Dart 和 JavaScript 中,函数是一种将代码封装以便重用使用的基本构建块这两种语言在定义和使用函数方面有很多相似之处但是呢,也有一些关键的差异本文主要介绍 Dart 中函数的使用,以及...中,命名参数的默认值不能是 null异同点类型注释Dart:静态类型语言,可以(但不是必须)在函数参数和返回值上指定类型JavaScript:动态类型语言,不需要(也不能)在函数参数或返回值上指定类型默认参数和可选参数...Dart:支持命名可选参数(使用大括号 {})和位置可选参数(使用方括号 [])Dart: 可以为可选参数提供默认值JavaScript:不支持命名可选参数,但可以通过对象解构来模拟JavaScript...:支持默认参数值函数表达式Dart 和 JavaScript 都支持匿名函数或箭头函数(=> 和 () => )上下文绑定在 JavaScript 中,函数中的 “this" 关键字的值取决于函数的调用方式...函数也是对象,所以函数可以赋值给变量,也可以作为参数传递给其他函数最后本期结束咱们下次再见~ 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。

    30401

    《Flutter》-- 3.Dart语言

    除了融合Java和JavaScript所长之外,Dart还提供了一些其他具有表现力的语法,如可选命名参数、级联运算符和条件成员访问运算符等。 使用Dart之前,需要先安装Dart SDK。...3.3.4 List 在Dart中,List表示列表,和数组是同一概念。Dart中的List类型和JavaScript中的Array类型是类似的。...这也意味着函数可以被赋值给变量或者作为参数传递给其他函数。也可以把 Dart 类的实例当做方法来调用。...通常,可选参数写在必传参数的后面,可选参数使用命名参数或位置参数进行传值。 可选命名参数用 {} 包裹。...Dart的Future与JavaScript的Promise非常类似,主要用来处理异步任务的最终完成结果。异步任务处理成功就执行成功的操作,异步任务处理失败就捕获错误或停止后续操作。

    3.5K20

    《深入浅出Dart》Dart中的泛型

    现代JavaScript高级小册 深入浅出Dart 现代TypeScript高级小册 Dart中泛型 泛型,一种强大而灵活的编程工具,可以让开发者创建可以适应任何类型的代码,同时又保持类型安全。...这是在许多编程语言中都存在的一种重要的特性,Dart也不例外。在这篇文章中,我们将深入探讨Dart中的泛型。 泛型的概念 在讨论泛型如何在Dart中工作之前,我们首先需要了解什么是泛型。...类型安全:当我们使用泛型时,Dart的静态类型系统将确保我们的代码是类型安全的。我们只能将正确的类型传递给泛型类或方法,否则我们会在编译时得到一个错误。...如果我们试图将非整数类型的值传递给Box,D art将报错,因为Box只接受整数。 创建泛型函数和方法 你可以在函数或方法上使用泛型。...总结 泛型是Dart强大的类型系统的一个重要组成部分。使用泛型可以帮助我们编写更灵活、更重用性强的代码,同时又保持了类型安全。对泛型的理解和正确使用,将极大地提升你的Dart编程能力。

    72130

    100个最常问的JavaScript面试问答-第3部分(共10部分)

    问题28.可以将匿名函数分配给变量并将其作为参数传递给另一个函数吗? 问题29.什么是arguments object(参数对象)? 问题30.可以将参数对象转换为数组吗?...答: 有四种方法可以在JavaScript中清空数组 通过分配一个空数组: var array1 = [1, 22, 24, 46]; array1 = [ ]; 通过将数组长度分配为0: var...let language = ['JavaScript', 'Dart', 'Kotlin', 'Java', 'Swift', 'Dart'] function unique_array(arr) {...可以使用function关键字将其定义为: function named() { // write code here } 问题28.可以将匿名函数分配给变量并将其作为参数传递给另一个函数吗?...可以将匿名函数分配给变量。 也可以将其作为参数传递给另一个函数。

    1.9K40

    带你高效入门 Flutter

    5 Dart 语法 在写 Flutter 之前,还要先跟大家简单介绍一下 Dart 的语法。如果你有 Java 或 JavaScript 的开发经验,以及面向对象的编程思想,学起来是很快的。...1var num = 666; 但和 JavaScript 不同的是,以下代码在 JavaScript 是不会报错的,但在 Dart 里会报错: 1var num = 666; 2 3void main...也就是说,JavaScript 是一种弱类型的语言,而 Dart 是一种强类型的语言。 Object 如果非要上面这样写,那也可以。...用于传参 Dart 里的函数也是一个对象,所以可以把函数作为参数来传递,比如: 1main() { 2 execute(print666); 3} 4 5print666() { 6...回到我们一开始的时候留下的问题,为什么别的跨平台方案都是用 JavaScript,而 Flutter 要用 Dart 来开发。JavaScript 的编译方式是 JIT 的,它不支持 AOT。

    1.5K20

    前端转Flutter - 对照Javascript学Dart

    最近在学flutter,发现flutter的编程语言Dart和Javascript有诸多相似,对于前端开发者而已好处在于有JavaScript经验学习Dart会快一些,缺点在于容易搞混这两种语言。...因此在学习的过程中记录了一下Javascript和Dart的对比,方便记忆。 1....const name = 'JavaScript'; Dart: Dart 中有两种方式定义常量:final和const。...可选参数(optional parameters) JavaScript: JS中所有的参数都是可选参数。这可以理解为JS的特性也可以说是设计缺陷,毕竟有时候漏传参数又不报错容易导致各种问题。...Dart: 在Dart中,常规的参数都是必传的,而命名参数和位置参数(positional parameter)都可以是可选参数。当然方法体中需要增加容错逻辑,已防止可选参数不传导致的报错。

    3.4K81

    Flutter fish-redux 简单使用

    下述的流程,在effect中把数据处理好,通过action中转传递给reducer更新数据 view —> action —> effect —> reducer(更新数据) 注意:该流程将展示,怎么将数据在各流程中互相传递...'; import 'package:fishredux/count/page.dart'; import 'package:flutter/material.dart' hide Page; Widget...'; import 'package:flutter/material.dart'; import 'action.dart'; import 'state.dart'; Widget buildView...页面所有的行为都可以在本层直观的看到 XxxxAction中的枚举字段是必须的,一个事件对应有一个枚举字段,枚举字段是:effect,reducer层标识的入口 XxxxActionCreator类中的方法是中转方法,方法中可以传参数...层去处理自增数据 static Action countIncrease() { return Action(CountAction.increase); } ///去reducer层更新数据,传参可以放在

    1.6K30

    Dart语言基础语法(一)

    Dart在没有锁的情况下进行对象分配和垃圾回收 Dart语法结合Java与JavaScript语法特点,几乎没有令人不适的怪异语法,使Java程序员倍感亲切,快速上手 通常来说一门语言要么使用AOT编译...与Java不同的是,布尔类型的默认值为null bool flags; print(flags); // null 列表 Dart中列表操作与JavaScript中的数组相似。...,且传参数时需使用冒号;后者与顺序相关,传参必须依照顺序。...箭头函数 Dart中的箭头函数与JavaScript中的基本相同。当函数体中只包含一个语句时,我们就可以使用=>箭头语法进行缩写。注意,箭头函数仅仅只是一个简洁表达的语法糖。...// 将p转换为Person类型再操作 (p as Person).name = 'Bruce'; 条件表达式 Dart中也支持三目表达式condition ?

    3.1K30

    Flutter--Dart学习

    Dart语言 2011年10月公开。它的开发团队由Google Chrome浏览器V8引擎 (JavaScript引擎)")团队的领导者拉尔斯·巴克主持,目标在于成为下一代结构化Web开发语言。...parameter type 'String'' } void main(){ int x = 10; print('x:'+x.toString()); // √ } 第二种方式:通过$来将函数...表达式函数 int add (int x , int y) => x + y ; void print(int x , int y) => print( x + y ); 而函数中的参数有三种: 必选参数:传参必须要传的参数...,可以为null 可选命名参数:通过key-value的形式来传入对应的参数 可选位置参数:顺序传参,而非key-value的方式 // 必选参数 - 函数定义 int add(int x,int y...否则编译错误 - 调用方式 add(1,2); // 可选命名参数 - 函数定义 int add(int x,int y,{int z:10,int m});//x,y在函数调用时必须传入,而z,m可不传,

    1.2K20
    领券