酷口
(酷口家数字花园)
1
这是笔记内容:
需求::基本信息
产品::[[templater]]
编码::1.1.1
正文
想用js获取产品=[[templater]]的所有笔记
let page=dv.pages('"9文献笔记"').where(b => JSON.stringify(b.产品).includes("templater"))
dv.header(3, page.需求)
这个代码报错
这个代码可以执行,但是,需要修改为: 产品::templater 需要去掉双链
let page=dv.pages('"9文献笔记"').where(b => b.产品=="templater")
dv.header(3, page.需求)
求大佬帮忙解答
试试 .filter(b=> b.产品?.path == 'templater 文件完整路径包括后缀')
(如果你这个双链是有文件的)
其他情况也可以自己调控制台看。
测试成功截图:
另外,希望你没有在同一文档定义多个相同属性,也就是一个文档里没有多个 产品::
,不然你就只能自己调控制台看了。
事实上,如果你一个文档有多个 产品::
,那会得到一个数组,需要用批处理。
此外,如果在这一个文档里,你有的是 产品:: 1
,有的是 产品:: 1, 2
,那就是在这个大数组里,有的项是字符串,有的项是数组。
因为内联不像 YAML 可以指定是字符串还是数组(通过指定属性类型是文本还是列表),它会根据你怎么写自动识别。
至于 includes()
对于字符串和数组使用分别是什么意思,你可以上网查找,翻 MDN 文档。
总之,如果你有一个想法的话,你可以用控制台看一看,写写代码试一试,自然就知道行不行了。
酷口
(酷口家数字花园)
8
let page=dv.pages('"9文献笔记"').filter(b=> b.产品?.path=='5卡片盒/templater.md')
dv.header(3, page.需求)