0

使用本文中定义的 IfCONd 助手(HandleBars .Net If Comparision)我遇到了一个问题,即助手没有检测到正在传递的第一个参数,这是我想要比较值的特定字段/属性。我在线程上的原始问题已被删除,所以我不得不在这里创建它作为一个单独的问题。

这可能真的很简单,但我一直在兜圈子试图让它发挥作用。所以我希望有人可以提供帮助。我已经实现了 Hung Quach 详细介绍的 condIf Helper,但是我无法让它在我希望根据指定值检查数据结构中特定字段的值的地方工作

我的车把语法

{{#each ADFDatasets}}
{{#ifCond DataSetType, '==','TBL'}}
{
    "name": "{{DatsetName}}",
    "properties": {
        "linkedServiceName": {
            "referenceName": "{{LinkedServiceName}}",
            "type": "LinkedServiceReference"
        },
        "folder": {
            "name": "{{DisplayFolder}}"
        },
        "annotations": [],
        "type": "Json",
        "typeProperties": {
            "location": {
                "type": "AzureBlobFSLocation",
                "fileName": "{{FilePattern}}",
                "folderPath": "{{FolderPath}}",
                "fileSystem": "{{FileSystem}}"
             }
        }
    }
}
{{/ifCond}}
{{/each}}

问题出在线路上

{{#ifCond DataSetType, '==','TBL'}}

我传递给它的数据结构有一个名为 DataSetType 的属性(这是一个字符串)我想检查它的值是否是一个特定的值,如果是,请执行一些以下逻辑。它只是不接受 DataSetType 作为第一个参数,并将其报告为未定义。

VS 中的错误图像

传递给模板的数据结构

仅仅是我的语法错误还是不可能?干杯

4

1 回答 1

0

事实证明,在模板中,您必须在单个花括号内引用数据元素。

我在任何文档中都找不到对此的任何引用,但通过反复试验找到了它,但希望它对其他人有用

{{#ifCond {DataSetType}, '==', 'TBL'}}

似乎 RedFox 上面关于不在元素之间使用逗号的建议也有效。

{{#ifCond DataSetType '==' 'TBL'}}
于 2019-11-05T10:11:07.073 回答