Я пытаюсь допросить строковое значение с помощью JQuery.tmpl() из блока {{if}}
, и он почему-то не работает.JQuery tmpl не работает должным образом в моем блоке if
Я использую KnockoutJS для визуализации панели с различными типами панелей. Каждая панель имеет свойство Type
, которое сообщит мне, какой тип панели это. Таким образом, здесь (очень просто) понятие о том, что мои данные могут выглядеть следующим образом:
var data = {"Panels": [
{"Type": "A", ... },
{"Type": "B", ... },
{"Type": "C", ... },
]};
Вот шаблон, который будет оказывать различные теги DIV в зависимости от Type
:
<script id="template" type="text/x-jquery-tmpl">
{{if Type == "A"}}
<div>A</div>
{{else Type == "B"}}
<div>B</div>
{{else Type == "C"}}
<div>C</div>
{{else}}
<div>'${Type}' is invalid!</div>
{{/if}}
</script>
Однако я всегда выход прибудет так:
<div>'A' is invalid!</div>
<div>'B' is invalid!</div>
<div>'C' is invalid!</div>
Как я могу проверить строковое свойство (т.е. Type
.) с использованием {{if ..}}
блок?
Заранее благодарен!
Благодарим вас за это. Я обновил решение, чтобы показать проблему, которая, как я думаю, у меня есть: http://jsfiddle.net/TrailHacker/cnzeg/2/ – Luc
Я просто хотел обновить другим комментарием, заявив, что принимаю это как свой ответ, и нужно еще больше изучить мою проблему. Вы доказали мне, что моя проблема - это что-то еще в моем коде. :) Еще раз спасибо!! – Luc
Посмотрите на это: http://jsfiddle.net/rniemeyer/zRqrw/. Похоже, что путь к плагину отображения не был правильным на вашей скрипке, поэтому я обновил его. Основное изменение тогда состояло в том, что после прохождения через плагин отображения все, что можно наблюдать, поэтому вам нужно ссылаться на Type как функцию в вашем коде типа Type(). Надеюсь это поможет. –