教程:产品双列
本教程将引导你逐步实现一个产品双列页面。本教程不假设你有任何 Lynx 的知识基础。你将在本教程中学到的技术将会是构建任何 Lynx 页面和应用程序 的基础。
我们要构建什么?
首先,让我们看看结果!要查看应用的实际效果,请下载并安装 LynxExplorer 到你的设备,然后扫描下面生成的二维码。
这个应用能让你快速地在你的设备上查看你的图片,还有丰富的交互。
教程设置
请查看我们详细的安装文档,该文 档将指导你创建一个新的 Lynx 项目。
你可能会注意到该项目使用的是 TypeScript。虽然 Lynx 和 ReactLynx 都支持 TypeScript 和普通 JavaScript,但我们推荐使用 TypeScript,以提供更好的开发体验,包括静态类型检查和更好的编辑器智能感知。
这个教程中将展示很多漂亮图片,我们为你准备了一些基准图片,你可以在这里下载资源包,并在搭建中使用它们。
添加样式
由于本教程的重点不在于如何为你的 UI 添加样式,你可以节省一些时间,直接复制下面的 index.css 文件:
并将其作为全局样式导入:
这确保了在你按照本教程操作时,你的 UI 看起来很棒。
Lynx 支持多种样式功能,包括全局样式、CSS 模块、内联样式、Sass、CSS 变量等!请参阅 Rspeedy - 样式页面,了解如何选择最佳的样式配 置。
你的第一个组件:图片卡
现在,让我们开始创建第一个图片卡片开始,它将是这个页面最主要的部分。
很好,你现在已经能看到图片卡被展示出来了,我们这里使用了 <image> 元件来展示你的图片。你只需要给它一个宽高(或者像这里一样指定 aspectRatio 属性),它就会自动调整大小以适应你指定的宽高。
这个组件能接收一个 picture 属性,来让使用它的你能够随意地更改想让它显示的图片。事实上,所有的组件都能够像这张接收来自外部的输入,让你能够控制它们。
图片的 src 属性
Lynx 的 <image> 元件可以接收一个本地的相对路径作为 src 属性来渲染图片,它是 <image> 元件中最重要的属性。这个应用中的所有图片都来源于本地,使用前需要导入这些路径。
但如果你的图片存储在网上,你也可以轻松地将其替换为网络图片地址,只需将 src 属性的值更改为对应的网络图片链接即可。
添加交互:给图片卡点赞
我们可以在右上角我们添加一个小小的白色爱心,然后让它成为图片卡的点赞按钮。这里我们实现了一个小组件 LikeIcon:
我们想让每一张卡片都能知道自己是否被点赞了,所以给这个组件添加了 isLiked,这是它的内部数据,它能用这样的内部数据来保存你对它的更改。
然后我们给 <image> 添加了 bindtap 事件,这样当用户点击这个爱心时,它会触发这个事件,修改 isLiked 的状态:
什么是 "bindtap"?
如果你来自 Web 开发背景,你可能更熟悉诸如 onclick(HTML 属性)或 onClick(在 React 社区中)的命名约定。Lynx 则遵循一套不同的约定:由于其架构的静态性质,使用 bind* 和 catch*。在事件处理页面了解更多信息。
最后我们用 isLiked 来控制点赞的效果。因为 isLiked 是一个 state,LikeIcon 会响应它的变更,变成红色的点赞图标,用来渲染动画效果的 <view> 也会被条件渲染:


