我正在寻找一个模板引擎来使用客户端.我一直在尝试一些像jsRepeater和jQuery模板.虽然它们似乎在FireFox中运行良好,但它们在呈现HTML表格时似乎都在IE7中崩溃了.
我还看了一下MicrosoftAjaxTemplates.js(来自http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16766)但事实证明它有同样的问题.
有关其他模板引擎的建议吗?
所以jQuery模板永远不会超过beta,jsRender和jsViews应该填补空白.我查看了Boris Moore在此页面上发布的示例,但我没有区分jsRender和jsViews.此外,鲍里斯在另一个例子中使用了一个来增加混乱.所以问题是他们中的两个如何相关(或不同)?
是否可以将jsRender模板存储在单独的文件中?
我想将它存储在一个单独的文件中,并在我的页面中引用它.
这样的事情
<script id="templateName" type="text/x-jsrender" src="thisIsTheTemplate.js"></script>
Run Code Online (Sandbox Code Playgroud)
我会赞美任何纪念或建议.
谢谢
我想使用我的jsrender模板中的变量来生成一段javascript,但我无法弄清楚如何<script type="text/javascript">在我的内部放置一个<script id="data-item-tpl" type="text/x-jsrender">
希望以下内容相当清楚.下面的代码产生了一个Uncaught SyntaxError.如果我从嵌入式脚本中删除标签,那么它只是作为文本打印到页面上.
在下面的代码中,我试图生成一个id为'chartId'的div,然后是一个脚本,它将通过MyChart对象用内容填充该div.
<script id="data-item-tpl" type="text/x-jsrender">
<div class="item">
<div class="graphs">
<ul class="thumbnails">
{{for graphs}}
<li><div class="thumbnail"><img src="{{html:url}}" width="190" height="120" /><p>{{html:graphTitle}}<br />{{html:value}}</p></div></li>
{{/for}}
<!-- Here we insert both the placeholder for, and the javascript to populate charts -->
<li><div id="{{html:chartId}}" style="width:120;height:190px;"></div></li>
<script type="text/javascript">
var chartObj = new MyChart("{{html:chartId}}");
chartObj.render();
</script>
</ul>
</div>
...
</script>
Run Code Online (Sandbox Code Playgroud) 我有一个JsRender模板.当模板渲染时,我想调用JavaScript函数来操作一些数据.
这是我的JsRender模板.
<tr class="template-download">
<td class="size">
<span>{{:size}}</span>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
现在我想将:size值传递给JavaScript函数并获取返回值.所以我可以显示返回值而不是:size值.
我的JavaScript功能是
function getSize(size) {
var megabytes = size / (1024 * 1024);
return megabytes.toFixed(2) + "MB";
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我正在寻找一个可靠的jQuery模板引擎.
我一直在使用jquery.tmpl.js进行开发,尽管我知道它被放弃了.我已经能够实现我想要的功能,但对其跨浏览器的可靠性有一些轻微的怀疑.
首先,IE7似乎被标记为一个问题领域,我现在不想进一步深入,直到我更有信心它最终可以纳入生产解决方案.
关于模板的StackOverflow问题有一个健康的讨论,但遗憾的是现在这已经过时了.
jquery.tmpl.js的github存储库说它已被移动到jQueryUI,但jQueryUI站点没有提到模板.
那么有没有人对jQuery中的模板有任何良好的体验和/或可以指向一个可靠的解决方案?
我一直在阅读MVVM,到目前为止发现它非常有趣.但是,我发现的大多数示例都适用于Windows应用程序,而不是Web应用程序.我也看到很多提到与Silverlight一起使用的MVVM,我知道Silverlight可以用于Web或Windows应用程序.
所以我的问题是 - MVVM是基于Web的应用程序的有效模式吗?如果是,UI必须是Silverlight吗?我正在决定将哪些技术用于我们需要设计的新中型网站,而Silverlight可能是对权力的强烈推销 - 尽管我们在幕后使用的技术并不重要非常.
任何人都可以在网络环境中使用MVVM提供的任何信息都将受到赞赏.示例代码也很棒.
关于{{for}}循环的问题jsRender.
演示显示我们可以遍历一系列复杂对象并显示它们的属性:
{{for languages}}
<div>
<em>{{>name}}</em>
</div>
{{/for}}
Run Code Online (Sandbox Code Playgroud)
但如果我languages只是一个List<string>怎么办?将{{>name}}无法显示.我们如何引用单个字符串值?
谢谢.
<select id="Test" TestAttr="{{:LocationId}}">
{{for #parent.parent.data.Location}}
<option value="{{:LocationId}}" {{if LocationId= *#parent.parent.data.LocationId*}}selected{{/if}}>{{:#parent.parent.data.LocationId}}</option>
{{/for}}
</select>
Run Code Online (Sandbox Code Playgroud)
如何在**之间提到的if语句中获取父数组的LocationId.
当我使用jsrender模板引擎时,我想在代码中添加一些注释,但我找不到注释标记.
我知道我可以使用html注释,但我不希望这些注释在html上呈现,因此不可用<!-- -->.
所以,我想要的是:
<script id="row-template" type="text/x-jsrender">
{{// some comment that will not be rendered}}
{{if #data[0]}}
<tr>
{{for #data tmpl="#some-template"/}}
</tr>
{{/if}}
</script>
Run Code Online (Sandbox Code Playgroud) jsrender ×10
jquery ×4
javascript ×3
templates ×2
.net ×1
jquery-ui ×1
jsviews ×1
mvvm ×1
silverlight ×1