Dataview API 指南
若你的插件需要查询笔记的元数据(frontmatter、标签、链接),可通过 Dataview API 复用其索引,避免重复造轮子。
核心要点
获取 API
ts
import { getAPI } from "obsidian-dataview";
const dv = getAPI();
if (dv) {
const pages = dv.pages('#project');
console.log(pages.length);
}- 先判断
getAPI()是否为null(用户可能未装 Dataview) - API 提供
pages()、page(path)、tryQuery()等方法,返回 Dataview 数据结构
典型用法
- 用
dv.pages()按标签/路径批量取笔记,再读page.frontmatter - 用
dv.query()执行类 DQL 查询,返回表格数据 - 监听索引就绪(
dataview:api-ready事件)后再调用
注意事项
- Dataview 是社区插件,依赖它需声明
optional并优雅降级 - 大数据量查询在主线程执行,注意节流与缓存
- 配合 Dataview 专题 理解查询语法