jsrender 相关问题

JsRender:下一代jQuery模板

js渲染和分页

我正在尝试让 jsRender 和分页工作,但我对 jsRender 和 jquery 有点陌生。 我尝试修改它以与 jsRender 一起使用,但我只有有限的

回答 1 投票 0

JetBrains jsRender/jsViews 语法高亮?

我最喜欢的 IDE 是 JetBrains 的 phpstorm,但似乎没有任何用于 jsRender/jsViews 语法高亮的插件。 我在 JetBrains 上只找到了这个支持线程: https://youtrack.jetbra...

回答 1 投票 0

我可以让 VS Code 来语法高亮 JsRender 模板吗?

内,所有代码均显示为白色。如果我只是将 x-jsrender 更改为 html,语法突出显示将按预期工作。 有没有办法教 VS Code ...</desc> <question vote="5"> <p>在<pre><code>&lt;script type=&#34;text/x-jsrender&#34;&gt;</code></pre>内,所有代码均显示为白色。如果我只是将 <pre><code>x-jsrender</code></pre> 更改为 <pre><code>html</code></pre>,语法突出显示将按预期工作。 </p> <p>有没有办法教 VS Code 像对待 <pre><code>x-jsrender</code></pre> 一样对待 <pre><code>html</code></pre>?</p> </question> <answer tick="false" vote="3"> <p>目前不支持 OOTB,您必须编写一个插件来启用该语法高亮。</p> </answer> <answer tick="false" vote="0"> <p>我制作了一个 VSCode 扩展,可以轻松地使用 JSRender 模板。 我会继续开发)</p> <p>jsrender-jsviews</p> <p><a href="https://marketplace.visualstudio.com/items?itemName=AndreyMakarenko.jsrender-jsviews" rel="nofollow noreferrer">https://marketplace.visualstudio.com/items?itemName=AndreyMakarenko.jsrender-jsviews</a></p> </answer> </body></html>

回答 0 投票 0

从 JsRender 调用 JavaScript 函数

我有一个 JsRender 模板。当模板渲染时,我想调用 JavaScript 函数来操作一些数据。 这是我的 JsRender 模板。 我有一个 JsRender 模板。当模板渲染时,我想调用 JavaScript 函数来操作一些数据。 这是我的 JsRender 模板。 <tr class="template-download"> <td class="size"> <span>{{:size}}</span> </td> </tr> 现在我想将 :size 值传递给 JavaScript 函数并获取返回值。所以我可以显示返回值而不是 :size 值。 我的 JavaScript 函数是 function getSize(size) { var megabytes = size / (1024 * 1024); return megabytes.toFixed(2) + "MB"; } 我该怎么做? 您可以使用辅助函数来完成此操作。 当您调用渲染时,您可以定义辅助函数并将其传递到您的模板中: $("#tmpl").render(data, { getSize: function(size) { var megabytes = size / (1024 * 1024); return megabytes.toFixed(2) + "MB"; } }); 然后,在模板中,您可以像这样调用辅助函数: <tr class="template-download"> <td class="size"> <span>{{:size}} {{:~getSize(size)}} </span> </td> </tr> 我对模板的使用方式做了一些假设,但这应该可以帮助您继续下去。 本文有一个与辅助函数相关的部分,@BorisMoore 在他的 jsViews 网站上有许多很好的示例。 我相信你必须使用辅助函数。 请参阅下面的两个参考资料。 第二个是一个完全刷新的例子。 http://borismoore.github.io/jsrender/demos/step-by-step/09_helper-functions.html 谢谢 Vadim,解决方案看起来不错,但是如果我需要在简单数组 foreach 中应用该函数怎么办?像这样: {{for names}} {{:~myFunc(:)}} // with function does not work {{:}} // without function works good {{/for}}

回答 3 投票 0

如何从jsViews中的视图中获取干净的数据?

我认为有以下数据 让数据= { 所选条目:0, 已选留言: 1, 角色: 角色, 条目:[{消息:[...]},{消息...

回答 1 投票 0

是否可以使用数组作为 jsrender 辅助函数的参数?

我有一些 JavaScript 代码,用于通过匹配这些相同对象中的标识属性值来从对象数组中检索属性值。 plantArray.find(p => p.PlantCode.

回答 0 投票 0

给jsrender里面的元素添加事件监听器

我在 text/x-jsrender 中有一个 HTML 模板(这只是其中的一部分): <input na...</desc> <question vote="1"> <p>我在 <pre><code>text/x-jsrender</code></pre> 中有一个 HTML 模板(这只是其中的一部分):</p> <pre><code>&lt;script type=&#34;text/x-jsrender&#34; id=&#34;js-true-up-location-items-list-template&#34;&gt; &lt;input name=&#34;actualSalesCount&#34; id=&#34;actual-sales-count-input-{{:id}}&#34; class=&#34;numeric-input&#34; type=&#34;text&#34; value=&#34;{{:actualSalesCount}}&#34; data-id=&#34;{{:id}}&#34;&gt; &lt;/script&gt; </code></pre> <p>我想将一个事件监听器附加到所有具有<pre><code>numeric-input</code></pre>类的输入文本。</p> <p>我添加了以下代码:</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; window.onload = function () { console.log(&#34;Page has been loaded&#34;); $(document).ready(function () { console.log(&#39;enabling arrow navigation from the page!&#39;); $(&#39;.numeric-input&#39;).keyup(function (e) { console.log(&#39;keyup!&#39;); if (e.which == 39) { // right arrow $(this).closest(&#39;td&#39;).next().find(&#39;input&#39;).focus(); } else if (e.which == 37) { // left arrow $(this).closest(&#39;td&#39;).prev().find(&#39;input&#39;).focus(); } else if (e.which == 40) { // down arrow $(this).closest(&#39;tr&#39;).next().find(&#39;td:eq(&#39; + $(this).closest(&#39;td&#39;).index() + &#39;)&#39;).find(&#39;input&#39;).focus(); } else if (e.which == 38) { // up arrow $(this).closest(&#39;tr&#39;).prev().find(&#39;td:eq(&#39; + $(this).closest(&#39;td&#39;).index() + &#39;)&#39;).find(&#39;input&#39;).focus(); } }); }); }; &lt;/script&gt; </code></pre> <p>因此,显示“页面已加载”日志,还有“从页面启用箭头导航!”,但是当我在输入中按下按键时,没有任何反应。</p> <p>有什么想法吗?</p> <p>谢谢!</p> </question> </body></html>

回答 0 投票 0

JSRender:递归调用父模板

我有一个用例,其中输入 json 可以有 n 个嵌套子对象,为此我想显示树结构。可能需要某种递归渲染逻辑来实现...

回答 1 投票 0

先空后值的表。为什么?

我的表的td先空后值。为什么?我的html是:

回答 1 投票 -1

日期格式与JsRender

我正在使用下面的代码来查看变量{{:Tag}}的日期值。显示的格式是2020-03-27。但我想把它显示为27.03.2020。请你告诉我从哪里开始或者......

回答 1 投票 0

在JSRender中,for循环中难以使用上下文参数

我正在使用JSRender 1.0.5,并且此页面上的文档:https://www.jsviews.com/#contextualparams建议我可以这样做:“上下文参数是通过简单地编写〜myValue =。来定义的。 。(对于任何...

回答 1 投票 -1

for循环中的上下文参数在JSRender中不起作用

我正在使用JSRender 1.0.5,并且此页面上的文档:https://www.jsviews.com/#contextualparams建议我可以这样做:“上下文参数是通过简单地编写〜myValue =。来定义的。 。(对于任何...

回答 1 投票 0

表html jsreport中两个值数据的乘法

我需要在表html jsreport qty * valor中添加两个值数据的乘积->在表中逐行计算一切正常,只需要计算

回答 3 投票 0

[使用Math辅助函数使用JsRender创建按列创建GRID

我正在尝试创建一个像这样的网格。条件:如果结果少于5个结果,我会将所有内容放在同一列上;如果结果大于5,我必须除以3,这样我就知道...

回答 1 投票 0

[使用Math辅助函数使用JsRender创建按列创建GRID

我正在尝试创建一个像这样的网格。条件:如果结果少于5个结果,我会将所有内容放在同一列上;如果结果大于5,我必须除以3,这样我就知道...

回答 1 投票 0

使用jsRender过滤项目?

我似乎无法通过过滤来与jsRender(https://www.jsviews.com/#fortag@filter)一起使用。文档指出,仅在渲染时传递filter函数,然后对其进行定义。返回...

回答 1 投票 0

JsViews:使用深度复制对象重新初始化模板:〜root问题

我正在尝试使用数据链接对象的深层副本来创建撤消过程(重新初始化模板)。这可能不是理想的方法,但是我现在不能使用视图模型,merge()和unmap()。 ...

回答 1 投票 0

[html()在使用脚本标记的Firefox中不起作用

我正在使用jsrender,所有功能都可以在Chrome浏览器中运行,但是在Firefox中则无法运行。如果我尝试在控制台(使用Firefox)中获取$('#theTmpl')。html(),它将显示为“”。但是在Chrome中可以运行...

回答 1 投票 0

在辅助对象循环Jsrender中使用父对象属性

我正在以ax的形式发送对象branchData到具有分支详细信息的jsrender模板。 branchData:Array(2)0:{名称:“ M13”,displayName:“ Abc”,URL:null} 1:{name:“ M01”,displayName:“ Xyz”,...

回答 1 投票 0

在jsrender中访问循环内的父项

{{for#parent.parent.data.Location}} ] >> [[ 您可以引入在循环内可见的变量(在官方文档中:Setting contextual template parameters, accessible in all nested contexts as ~nameOfParameter) <select id="Test" TestAttr="{{:LocationId}}"> {{for #parent.parent.data.Location ~locationId=LocationId}} <option value="{{:~locationId}}"... 编辑后脚本: 上面的链接是以前的文档,现已取代。 有关当前文档,请参见Accessing parent data。 另请参阅此stackoverflow question

回答 1 投票 7

© www.soinside.com 2019 - 2024. All rights reserved.