本章主要完善上一章的顶部导航栏,开工之前,我们先学习几个新的概念。
Interface (接口)
可选属性,只读属性
Interface 存在于很多开发语言中,如C#,Java等。但是在这些语言中,接口的概念更偏向于一个类的共性的模板(此处不详解)。
但是在TypeScript中,Interface还有一个非常重要的作用之一就是类型命名。不同于C#,Java中的interface只能有方法,在TypeScript中,可以给interface添加属性,这样对于复杂的类型就可以用interface命名。如下面的示例,如果你添加了一个属性不属于定义的interface中,系统会有错误提示。
image.png
Interface有两种属性:可选属性,只读属性。属性后添加“?”代表可选属性即可有可无,未添加“?”代表只读属性,不可更改。如下所示
image.png
函数类型,索引类型,类的类型
函数类型:TypeScript中的Interface可以给函数做类型,即可以定义某一种类型的函数
索引类型:可以创建像数据字典一样的数据结构
类的类型:类似于其他语言,对于类的抽象和约束
Flex布局
Flex “弹性布局”,有两篇文章图文并茂的解释了Flex布局,自行查看。
Flex布局教程:语法篇
Flex布局教程:实例篇
手机真机调试
真机调试的方法就是确保手机和电脑处于同一WiFi网络。
在启动程序时使用命令ng serve --host 0.0.0.0
最后用手机浏览器打开http://<电脑IP>:4200
完善顶部导航栏
上一章我们用字符串数组做了导航栏条目,但是真正意义上的导航包含两个部分:【1】显示导航条目,【2】点击导航条目的动作。那么对于当前的单一字符串是无法满足第二点的,所以我们就需要用到interface了。
详细请移步下一章节~