问题标签 [jsrender]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
templates - jsRender 模板在渲染后消失
在我调用render
我的 jsRender 模板后,它似乎被消耗掉了,因此从 DOM 中删除了。这令人沮丧,因为我有一个页面需要根据用户交互多次呈现模板。
第二个 console.log 是一个空数组,我可以使用 DOM 检查器和 jsRender 抛出的异常确认模板不再存在:Uncaught JsRender Error: Unknown template: "#tpl"
-- 必须重新加载页面才能将模板重新注入 DOM。
如何在渲染之间保留 jsRender 模板?
jquery - 嵌套的“{{for}}”问题?[js渲染]
我正在尝试将模板与 jsRender 而不是我自己的版本放在一起,但是,我不断收到以下信息:“未捕获的 JsRender 错误:语法错误不匹配或缺少标签:模板中的“{{/for}}”: " 后面跟着我的整个模板。
这是我的代码的截断版本,关于发生了什么的任何想法?还是只是嵌套的 for 循环?
显示我的数组结构的 chrome 开发工具的屏幕截图:
展开视图的屏幕截图 1:
并崩溃:
关于发生了什么的任何想法?
编辑:忘了提,我正在使用 John Papa 的代码从外部文件加载它
编辑:演示和代码:
我的阵列的 Chrome 开发工具输出:
演示:http: //jsfiddle.net/SO_AMK/3J7AE/
和一个工作嵌套数组:
演示:http: //jsfiddle.net/SO_AMK/Vf8Bq/
json - jsRender如何进行布尔比较
我正在尝试做一些非常简单的事情 - 在 jsRender 模板中测试来自 JSON 的布尔值。
JSON数据:
{ ...“CanAdd”:假,“CanDelete”:假,“CanEdit”:真,...}
模板:
{{if CanEdit === true}} 做点什么{{/if}}
生成的输出不显示“做某事”。JSON 数据中 CanEdit 的值为 true。我已经尝试过 CanEdit === "true"、CanEdit == true、CanEdit == "true",但没有任何效果。
我错过了什么?
编辑 这是我的完整模板:
JSON
}
模板正在呈现,除了 CanEdit、CandDelete 周围的逻辑。
我即将放弃做模板并返回在服务器上呈现 HTML。也许我正在做的事情太复杂了。也许模板应该只用于只读数据。
再次感谢你的帮助。
javascript - JsViews 与淘汰赛
我打算将 JsRender 用于我的单页应用程序,我正在考虑是否应该使用 JsViews 或 Knockout。JsViews 还没有达到测试版,但是这两者在速度和功能方面的主要区别是什么?
谢谢!
jquery - 与 JsRender 动态模板渲染相关的问题
我在运行时将模板应用到 JsRender 时遇到问题。
请参考这张图片 -
当我单击执行模型按钮时,我从控制器获取数据并在客户端缓存在对象(resultData)中。
如果我使用硬编码模板,它可以工作。这是代码
当我单击任何样式时,我必须应用动态模板。我也可以获得动态模板。请检查这张图片 -
以下是我要应用的代码-
谁能告诉我代码有什么问题。为什么在硬编码工作时不应用动态模板。
javascript - 使用 jsrender 模板嵌入脚本
我想使用我的 jsrender 模板中的一个变量来生成一段 javascript,但我不知道如何<script type="text/javascript">
在我的<script id="data-item-tpl" type="text/x-jsrender">
希望下面的内容相当清楚。下面的代码产生一个Uncaught SyntaxError
. 如果我从嵌入脚本中删除标签,那么它只是作为文本打印到页面上。
在下面的代码中,我试图生成一个 id 为“chartId”的 div,然后是一个脚本,它将通过 MyChart 对象填充该 div 的内容。
javascript - 使用 jsRender,如何使用序数位置以外的东西从数组中提取特定项目?
我正在尝试使用 jsRender 呈现一些 JSON 数据。下面是我的示例 JSON 数据
我想根据 MediaTypeName 而不是序号位置提取不同的图像。我知道我可以这样做:
{{:ContentMediaTypeList[1].Path}}
我知道我可以做到这一点:
{{for ContentMediaTypeList}} {{if MediaTypeName == 'Video'}} {{:Path}} {{/if}} {{/for}}
但第二种方法似乎繁琐且浪费。我想做的甚至可能吗?谢谢你的帮助。
jsrender - 是否有 JsRender 渲染完成事件
是否有 JsRender 事件或回调来确定渲染方法何时完成?我想处理一些模板并确保它们在我获取结果文档元素之前都已完成。所有渲染方法是否同步运行?