Шаблоны jQuery с бритвы использование бритвы в текст/HTML скрипты
Хорошо, это немного случайно, но..
Использование MVC 3 (с двигателем Razor view) с нокаутом.js, который использует шаблон jQuery, я столкнулся с небольшой проблемой, которую, я уверен, можно решить.
Чтобы использовать jQuery-Tmpl, вам нужно предоставить шаблон в
<script type="text/html">
...template elements go here...
</script>
Теперь проблема в том, что движок Razor view, похоже, не генерирует HTML внутри этих конкретных тегов скриптов. он обрабатывает стандартный html, (script type= "text/javascript") отлично, но кажется, что просто не делайте ничего с вышеупомянутым тегом сценария.
Кто-нибудь знает, как обойти эту проблему, например, как использовать MVC 3 Razor с jQuery-Tmpl?
2 ответа:
В этом блоге есть довольно хорошее решение: http://www.wiredprairie.us/blog/index.php/archives/1204
При этом создается помощник" template", который выдает теги start/end скрипта.
В противном случае, у меня есть некоторые идеи для размещения шаблонов во внешних файлах, что было бы еще одним способом избежать этой проблемы. Это включает в себя хранение шаблонов внутри .html-файлы и впрыскивание их на страницу в теги скриптов. Есть, конечно, много способов, что это может быть выполнено, хотя на стороне клиента или сервера, всего несколько идей.
Более общий подход, если вы хотите сохранить вещи в документе, - это использование @Html.Raw для вывода html без изменения состояния синтаксиса во время редактирования.
Например:
@Html.Raw("<script type='text/x-dot-template' id='awesome_template'>") <!-- insert some awesomeness here --> @Html.Raw("</script>")
Мне немного больше нравится вспомогательный метод, предложенный выше, но он не всегда был тем, что я мог реализовать, поэтому это альтернатива со своими преимуществами (а именно ясность над простотой использования и краткостью)