Astro 全局对象
全局对象
在任何一个 .astro 组件里,Astro 都会自动注入一个内置的全局对象 Astro,你不需要写 import,就能在组件的脚本区(那对 --- 之间)直接使用它。
它像是 Astro 给你的「控制台」,集中暴露了当前请求的信息、父组件传来的数据、插槽内容等,后面几乎所有的进阶用法(Astro.props、Astro.url、Astro.slots……)都挂在它下面。
---
// 无需 import,Astro 已自动可用
const path = Astro.url.pathname; // 当前访问路径,如 /about
---
<p>当前路径是:{path}</p>
常用成员
下面列出最常用的一批成员,初步了解,后续会详细介绍:
Astro.props:父组件传给当前组件的数据,组件复用全靠它,详见 Astro Props。Astro.url:当前页面的网址对象,pathname是路径、searchParams是查询参数,实战见 Astro 页面导航与链接,成员归纳见 Astro 组件基础。Astro.params:动态路由里从网址解析出的参数,见 Astro 页面与文件路由。Astro.slots:读取和判断插槽内容,见 Astro 插槽。Astro.site:在astro.config.mjs里配置的站点域名,常用于生成绝对链接,见 Astro 环境变量与配置 与 Astro 站点配置与 SEO。Astro.glob:按规则批量引入项目文件,内容站常用,见 Astro 内容集合。Astro.locals:由中间件注入的共享数据,属进阶用法。