JSViews: несколько ссылок

Я столкнулся с каким-то странным поведением с JSViews 1.0.0alpha. По крайней мере, я думаю, что это не я, но я не совсем уверен...

Я определяю несколько частей данных и шаблонов в одном файле HTML:

  var data = { extensions: [], queues: [] };

  $.templates({
    extensions: "#extensionsTemplate",
    queues: "#queuesTemplate"
  });

Затем я привязываю эти биты данных к определенным мною шаблонам:

  $.templates.extensions.link('#extensions', data);
  $.templates.queues.link('#queues', data);

Когда я выполняю, только первая команда ссылки работает хорошо. А вот второй ничего не делает. Я знаю, что это правильно, потому что если я закомментирую первую ссылку, вторая будет работать нормально.

Я пробовал разбивать данные на несколько переменных, но это тоже не работает. Есть ли у кого-нибудь мысли о том, как получить поведение, которое я ищу, то есть две ссылки на данные? Спасибо!


person user3787960    schedule 29.06.2014    source источник
comment
Можете ли вы подтвердить, работает ли код в моем ответе ниже для вас, и если да, то отметьте ответ как принятый? Если нет, можете ли вы создать jsfiddle своего кода - поскольку, возможно, там есть какая-то другая проблема... Спасибо.   -  person BorisMoore    schedule 01.07.2014


Ответы (1)


Это должно работать нормально.

Это работает правильно для меня:

<script id="extensionsTemplate" type="text/x-jsrender">
  a{{for extensions}}{{:#data}}{{/for}}
</script>

<script id="queuesTemplate" type="text/x-jsrender">
  b{{for queues}}{{:#data}}{{/for}}
</script>

<div id="extensions"></div>
<div id="queues"></div>

<script type="text/javascript">

var data = { extensions: [1,2], queues: [3,4] };

$.templates({
    extensions: "#extensionsTemplate",
    queues: "#queuesTemplate"
});

$.templates.extensions.link('#extensions', data);
$.templates.queues.link('#queues', data);

</script>
person BorisMoore    schedule 30.06.2014