Использование усов для заполнения аргумента тега html - PullRequest
3 голосов
/ 15 ноября 2011

Я пытаюсь добавить идентификатор (id) к href ниже, используя усы

Шаблон:

<div id='tmpl'>
    <a href='#product_detail?'{{id}}>link</a>
</div>    

var template = $('#tmpl').html();

Данные:

var model = { id: 22 };

Визуализация шаблона с использованием данных модели:

var html = Mustache.to_html(template, model);

Результат:

<a href="#product_detail?%7B%7Bid%7D%7D">link</a>

Если шаблон изменен на:

<div id='tmpl'>
    <a href='#product_detail?'{{id}}>link</a>
</div>

Полученный шаблон:

<a href="#product_detail?" 0="">link</a>

Кажется, «проблема» заключается в том, что jQuery меняет одинарные кавычки в шаблоне на двойные, что сбивает с толку усы. Размещение метки усов за пределами кавычек также не дает правильных результатов. Как это можно решить?

Спасибо

1 Ответ

9 голосов
/ 15 ноября 2011

Вам необходимо добавить {{id}} в href, например:

href="#product_detail?{{id}}"

Мы обычно помещали наш шаблон усов в скрипт с type = "text / template", я не знаю, решит ли он ваши проблемы с выходом, но у нас его нет.

<script type="text/template" id="tmpl">
   <a href href="#product_detail?{{id}}">link</a>
</script>

Если у вас возникли проблемы с побегом, используйте & перед идентификатором:

<script type="text/template" id="tmpl">
   <a href href="#product_detail?{{& id}}">link</a>
</script>

Надеюсь, это поможет!

...