课程章节介绍
同学们,我们来看一下这个知识点:每个 Lightning Web Component 都必须有一个 JavaScript 文件,用的是 ES6 的模块格式。
首先,如果你创建的是一个能在页面上显示的 UI 组件,那就必须从 `lwc` 这个核心库里导入 `LightningElement`,然后导出一个默认的类,并且这个类要继承自 `LightningElement`。要注意哦,这个导出一定是默认导出,你不能在这个文件里再额外导出其他变量或函数。因为这个文件的任务很单纯,就是定义一个组件类。
那如果我们需要写一些不渲染界面的纯逻辑库,也就是 API 模块组件、或者叫服务组件,这种情况下我们就可以导出多个函数和变量,给其他组件导入使用。这种组件就不需要继承 `LightningElement` 了。
还有一个很重要的限制:从 `lwc` 模块里导入东西时,只允许使用四种具名导入,分别是 `LightningElement`、`api`、`track` 和 `wire`。你不能用默认导入的方式,比如 `import lwc from 'lwc'`;也不可以用命名空间导入全量对象,比如 `import * as lwc from 'lwc'`;更不能从 `lwc` 重新导出什么内容。这些操作都是无效的。
最后,类的命名要遵循 PascalCase 的约定,也就是每个单词首字母大写的驼峰形式,而且类名必须跟你这个组件的文件名相匹配。比如组件文件夹叫 `myComponent`,那你的类名就应该是 `MyComponent`,这样框架才能正确识别。
简单总结一下:UI 组件一定要有 JS 文件,从 `lwc` 导入 `LightningElement` 并默认导出一个继承它的类,不能导出别的;只能导入那四种特定符号;类名和文件名要保持一致。这样我们的组件就能稳稳地跑起来了。
关键词
LWC
Lightning Web Components
Salesforce