Руль C#, если равняется сравнению - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь сделать, если сравнивается на руле. NET. {{#if xxx}} работает с логическими значениями. Как я могу сделать {{#if x = 'foo'}} сравнение в руле. NET?

1 Ответ

0 голосов
/ 13 февраля 2020

Здесь вы можете использовать только логические значения из ваших данных, без выражений:

{{#if foo}}
    {{helloMessage}}
{{/if}}

foo будет bool:

var data = new
{
    helloMessage = "Hello world!",
    foo = true
};

.

Если вы хотите для обработки поведения, подобного выражению, вы также можете зарегистрировать обработчик блоков следующим образом:

Handlebars.RegisterHelper("ifEq", (output, options, context, arguments) =>
{
    if (arguments[0] == arguments[1])
    {
        options.Template(output, context);
    }
    else
    {
        options.Inverse(output, context);
    }
});

И использовать это в своем шаблоне:

{{#ifEq foo ""bar""}}
    {{body}}
{{/ifEq}}

Но это как-то противоречит моему пониманию шаблон.

...