作者前言
由于作者本身是初学者,所以解读的内容可能十分繁琐,如果可以耐心看完并发现有不对的地方,欢迎指正
结构解读
打开本项目需要关注的是下图中的四个.ets文件和一个.ts文件
CommonConstant.ets
首先看到的肯定是这句
export default class CommonConstants
-
export : 写在类前,顾名思义,用于导出该类,在别的文件中使用import语句就可以导入该类,具体用法后续会解释
-
default : 默认导出文件,目前我理解的是配合export使用,可以做到默认导出,一个文件中只能有最多一个默认导出的文件
这岂不是多此一举,为什么要加这个词呢?
这就和import有关系了,之后讲解import的时候会解答这个问题
如果等不及想要知道或者是专程来看这个问题的,请点击此处直达
那么接下来,有过Java语言学习经验的朋友肯定就不难猜出来是在干嘛
这一整个类就是为了给开发提供方便,用一个明确的名字来代表一个数或者是其他信息,方便阅读代码和共同开发的人理解
我们就其中一句进行解读
static readonly FULL_LENGTH: string = ‘100%’;
- static : 全局变量,无需实例化类的对象就可以调用
- readonly : 这个的意思是该变量状态是只读,也就是没办法修改
- string : 字符串变量,由于本语言不区分字符和字符串,所以用双引号和单引号都可以
以此类推,接下来的都是一个思路,这里就不过多解释了
EntryAbility.ts
我左看右看发现这个不用管,似乎是自带的,恕我这里不能够解释里面每一句的含义
ToDoListPage.ets
首先不要忽略了最开头的import
对于import,它也有两种方式
- 普通导入:我们可以在其他文件里导出多个文件,那么在此处怎么识别出来呢?这就是普通的导入方式
假设在文件名A中有两个要导出的变量或者其他什么的,在文件B中就要这样导入
import {A1 , A2} from "./A";
这里的A1和A2不固定,只是这两个导出的变量的名字
看到这里你大概会有个疑惑,如果不同文件导出的变量或者函数名之类的名字都一样怎么办?
很好,这里提供两种解决措施
- 重命名
假如说C也有两个导出的叫A1和A2,那么你可以这样解决
import {A1 , A2} from "./A";
import {A1 as C1 , A2 as C2} from "./C";
这样就解决了问题,后续可以用新的名字来调用即可
2. 不知道叫啥名,应该也是重命名
import * as A from "./A";
import * as C from "./C";
//调用的时候就要这样使用
A.A1 = 2;
C.A1 = 3;
- 默认导入: 承接默认导出的部分,如果忘了点击此处跳转
还是上面那个例子,假设在文件名A中有两个要导出的变量或者其他什么的,在文件B中就要这样导入
import ABC from "./A";
由于每个文件最多有一个默认导出,所以默认导入就不需要在意这个名字到底是什么,ABC就是随便取的一个名字,而且它没有{大括号},是为了和普通导入区分开的,十分的方便 ᕕ( ᐛ )ᕗ
想更直观的了解这个内容请点击前往该视频,我也是总结了up主说的。