Скажут, у меня есть шаблон рулей вроде этого:Рули шаблонов, контекстный доступ переменных со строкой ключа
<script id="entry-template" type="text/x-handlebars-template">
<div class="entry">
<h1>{{i18n.title}}</h1>
</div>
</script>
То, что я действительно хотел бы сделать что-то вроде этого:
var source = $("#entry-template").html();
var template = Handlebars.compile(source);
var context = {"title.t":"My New Post"}
console.log(template(context));
Когда Я пытаюсь разобрать в контексте, таком как выше, с помощью строки в качестве ключа, hanslebars действует, как ключ недоступен. Я понимаю, что нормально структура должна быть такой:
var context = {
i18n:{
title:'test'
}
}
Но потому, что я получу 118n строки из внешнего источника, было бы проще просто использовать их в качестве ключей. А, да, я знаю такие проекты, как i18n.js, но актуальный вопрос: могу ли я использовать строковый ключ в объекте контекста с точками в нем, и если да, то как я могу получить к ним доступ из шаблона руля?
Итак, вы говорите, что лучше всего принести небольшой помощник ручек, который заменяет. с _? – Christian
Нет. Не создавайте помощника для этого, потому что ключ будет интерпретироваться с помощью '.' в нем. Если вы передадите ему строку, вам удастся ее заменить, но у вас возникнут проблемы с использованием помощника. Я говорю, что у вас уже есть ключи без «.», Откуда вы их получите. – ep0
это худшее решение, с которым я могу придумать, но если это единственный ... Думаю, мне нужно немного больше внимания. Спасибо, в любом случае. – Christian