提升属性的一个很好的用例是轻松定义脚本可能需要的各种参数,例如,如果它正在处理数据,则输入和输出注释,或者用于定义脚本行为的特定更改的复选框。

使用复选框切换标志
与其要求用户修改脚本中的布尔值,不如将其复选框用作提升属性,这要直观得多。
为此,请首先定义提升的属性:
#label:groupByExtension="promoted,alias=Group by extension,single,boolean"
然后使用它:
const byExtension = api.currentNote.getLabelValue("groupByExtension") === "true";
if (byExtension) {
// Do something.
}
这在前端和后端脚本中同样有效。
使用关系选择笔记
脚本的一个常见用例是从另一个笔记中读取数据,并可能将其结果输出到另一个笔记中。为此,我们需要定义以下提升的属性:
#relation:input="promoted,alias=Input,single" #relation:output="promoted,alias=Output,single"
一旦我们有了这个,我们就可以添加一些基本的错误处理,以确保字段由用户完成:
const inputNoteId = api.currentNote.getRelationValue("input");
if (!inputNoteId) {
api.showError("Missing input.");
return;
}
const outputNoteId = api.currentNote.getRelationValue("output");
if (!outputNoteId) {
api.showError("Missing output.");
return;
}
请注意,这里我们使用的是仅适用于前端笔记的。如果您正在编写后端笔记,只需删除,但用户不会反馈脚本未正确执行的原因。api.showErrorapi.showError
之后,我们可以简单地阅读笔记并用它做一些事情:
const note = api.getNote(inputNoteId);
if (!note) {
return;
}
const content = note.getContent().toString("utf-8");