Подчеркивание JS шаблон не работает
Это должно быть легко или просто, но я не знаю, почему это не работает. Я трачу здесь около 1 целый день.
https://jsfiddle.net/panyongfeng/m73vnz9j/
<script>
var tpl = "hello: <%= name %>";
var compiled = _.template(tpl);
compiled({
name: "dadf"
});
alert(compiled());
</script>
Я просто получаю "привет результат", который должен быть привет, папа. Не могли бы вы указать, что не так? Спасибо
2 ответа
Вы неправильно понимаете примеры в документации. Когда они говорят это:
var compiled = _.template("hello: <%= name %>");
compiled({name: 'moe'});
=> "hello: moe"
Контекст заключается в том, что они работают внутри REPL, как если бы они работали node
из командной строки. Это означает, что материал после =>
является результатом последнего выражения и hello: moe
Строка это то, что compiled({name: 'moe'})
возвращается. Запуск функции шаблона возвращает заполненный шаблон в виде строки, он нигде не хранит результаты.
Вы хотите бросить последний alert
позвоните в пользу этого:
alert(compiled({ name: "dadf" }));
Ваш код верен, но если вы хотите использовать результат, вам нужно сохранить результат скомпилированного метода. Итак, ваш код должен быть -
var dump = compiled({ name: "dadf" });
alert(dump);