Handlebars.Net Если помощник сравнения не обнаруживает тип аргумента - PullRequest
0 голосов
/ 04 ноября 2019

Использование помощника IfCOnd, как определено в этом посте ( HandleBars .Net If Comparision ) У меня возникла проблема с помощником, не обнаружившим первый передаваемый аргумент, который является конкретным полем / атрибутом, который я хочусравнить стоимость. Мой оригинальный вопрос в ветке был удален, поэтому мне нужно создать его здесь как отдельный вопрос.

Возможно, это действительно очень просто, но я ходил кругами, пытаясь заставить это работать. Поэтому я надеюсь, что кто-то может помочь. Я реализовал condIf Helper, который подробно описал Hung Quach, однако я не могу заставить его работать там, где я хочу, чтобы значение определенного поля в моей структуре данных сравнивалось с указанным значением

моего рулясинтаксис

{{#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

Структура данных, передаваемая в шаблон

Это просто мой синтаксис неправильный или это невозможно? Приветствия

1 Ответ

0 голосов
/ 05 ноября 2019

Оказывается, в шаблоне вы должны ссылаться на элемент данных в одиночных фигурных скобках.

Я не смог найти ссылки на это в какой-либо документации, но нашел ее методом проб и ошибок, но, надеюсь, это будет полезно для кого-то другого

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

, также, как представляется, предложение RedFoxs выше относительноне работает использование запятых между элементами.

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