参数
一个应用由不同的部分组成,就会涉及到不同部分之间的数据传递。例如:页面和页面间,组件和行为流之间等。在 Zion 中通过参数来实现数据的传递。
路径参数与查询参数:页面间的数据传递
路径参数和查询参数都用于通过页面的网址(URL)进行数据传递,区别在于它们属于网址的不同部分。
例如,我们通过以下网址访问 Zion 官网的一篇博客文章:
https://www.functorz.com/blog_article/blog/zion-feature-zion-ai?utm_source=zion_doc
可以将其拆解成不同部分:
https://www.functorz.com: 网站的协议和域名
/blog_article:博客页的路径
/blog/zion-feature-zion-ai:路径参数,在这个例子中路径参数 blog 的值为 zion-feature-zion-ai
?utm_source=zion_doc:查询参数,在这个例子中查询参数 utm_source 的值为 zion_doc
可以看出,路径参数直接改变了页面的网址,而查询参数只是改变了网页的参数。
适用场景
- 查询参数
通常情况下用查询参数进行参数传递。
- 路径参数
有 SEO 需求的页面使用路径参数(详情见: SEO )。在上面的例子中,如果用查询参数传递 blog 的值,爬虫在访问时,会把所有博客文章都识别成一个页面,导致博客文章在搜索引擎中无法被搜索到,降低了网站的 SEO 性能。而用路径参数时,每一篇文章都会被爬虫识别为一个页面,它们都能被搜到。
具体配置
两种数据配置方式和使用方式相同,都需要先声明再赋值,也可以被引用。接下来用 Zion 官网的博客部分作为例子,讲解具体使用流程。
数据声明
两种参数都在接收数据的页面进行添加。例如在博客页中:
- 定义路径参数 blog 用于远程数据的筛选条件,以获取博客文章。该参数为必填项。
- 定义多个查询参数用于传递用户信息。这些参数可以为空。
赋值
在跳转到该页面的行为上,给它们赋值。例如在搜索结果页,跳转博客页的行为上,将搜索到的 blog id 赋值给路径参数 blog。
引用
页面上的路径参数、查询参数都可以在当前页面内被引用,一般用于配置筛选条件。例如在博客页,在远程数据中,用路径参数 blog 作为筛选获取博客文章。
行为输入:将数据传递进行为
有多个行为都需要配置入参,例如:行为流、AI 行为等。和变量类似,行为输入的使用也分为声明、引用和赋值三个步骤。
声明:在行为配置内声明
引用:在行为配置内部可被引用
- 赋值:在调用行为时赋值