【问题标题】:JSViews: multiple 'link'sJSViews:多个“链接”
【发布时间】:2014-06-29 15:15:22
【问题描述】:

我在使用 JSViews 1.0.0alpha 时遇到了一些奇怪的行为。至少,我认为不是我,但我并不完全确定……

我在一个 HTML 文件中定义了数据和模板的多个部分:

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

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

然后我将这些数据位绑定到我定义的模板:

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

当我执行时,只有第一个链接命令运行良好。然而,第二个没有做任何事情。不过,我知道这是正确的,因为如果我将第一个链接注释掉,第二个链接就可以正常工作。

我尝试将数据拆分为多个变量,但这也不起作用。有没有人对如何获得我正在寻找的行为有任何想法,即两个数据链接?谢谢!

【问题讨论】:

  • 您能否确认我下面答案中的代码是否适合您,如果可以,请将答案标记为已接受?如果没有,您能否为您的代码创建一个 jsfiddle - 因为那里可能存在其他问题...谢谢。

标签: jsviews


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多