Skip to content

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 专题 理解查询语法

相关阅读 ​