这是什么语法

yaotomo 2018-08-17 08:43:05
好像不是JS的,因为script的type是text/x-handlebars-template


<script type="text/x-handlebars-template" id="tpl-list">
{{#each Table}}
<div class="msry-item">
<section class="am-panel am-panel-default">
<header class="am-panel-hd">
<h3 class="am-panel-title">{{title}}</h3>
</header>
<div class="am-panel-bd">
<div><img src= 'http://xxxxx.xxxxx/{{Location}}Thumbnail/{{PhotoID}}.jpg'/> </div>
<div>{{CName}}({{LName}})</div>
<div>地点:{{address}}</div>
</div>
</section>
</div>
{{/each}}
</script>


这个网页还引用了一个js文件,在那里面加载了数据源

var $c = $('#js-container');
var tpl = $('#tpl-list').html();
var compiler = Hanlebars.compile(tpl);
var getURL = function () {
return '../handler/handlertest.ashx?action=getdata&pagenumber=' + pagenumber;
};
var getList = function (url) {
$.getJSON(url).then(function (data) {
console.log(data);
params.start = params.start + 10;
var $html = $(compiler(data));
$c.append($html).masonry('appended', $html).masonry('layout');
});
};

$c.masonry({
itemSelector: '.msry-item'
});

getList(getURL());

$('#load-more').on('click', function () {
getList(getURL());
pagenumber++;
});


我记得angular里面有{{}}的语法,里面可以加载一些变量运算,双向绑定的。但这个不是angular的。
{{#each Table}}
将后台返回的json对象遍历了一下,展示到了前台。
现在虽然可以展示,但是我希望在遍历的时候做一下判断
如果CName字段和LName字段不为空,就这么展示
<div>{{CName}}({{LName}})</div>
如果为空,就展示为
<div>{{Filename}}</div>
应该怎么做?
...全文
126 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
石佛皮尔斯 2018-08-19
  • 打赏
  • 举报
回复
http://handlebarsjs.com/block_helpers.html
石佛皮尔斯 2018-08-19
  • 打赏
  • 举报
回复
引用 3 楼 yaotomo 的回复:
[quote=引用 1 楼 qq_41028553 的回复:]
handlebars.js 渲染模板,虽然我没用过,但语法和art-template好像



<div>
{{#if CName }}
{{CName}}({{LName}})
{{/if}}
</div>

我想加else,不知道怎么加?[/quote]


{{#if isActive}}
<img src="star.gif" alt="Active">
{{else}}
<img src="cry.gif" alt="Inactive">
{{/if}}

这是官方文档里面的
yaotomo 2018-08-18
  • 打赏
  • 举报
回复
引用 1 楼 qq_41028553 的回复:
handlebars.js 渲染模板,虽然我没用过,但语法和art-template好像



<div>
{{#if CName }}
{{CName}}({{LName}})
{{/if}}
</div>

我想加else,不知道怎么加?
yaotomo 2018-08-18
  • 打赏
  • 举报
回复
引用 1 楼 qq_41028553 的回复:
handlebars.js 渲染模板,虽然我没用过,但语法和art-template好像


谢谢,如果我要在循环里加判断应该怎么做呢
shouting_1 2018-08-18
  • 打赏
  • 举报
回复
模板语言。。
shouting_1 2018-08-18
  • 打赏
  • 举报
回复
{% if s != '' %}
<td></td>
{% else %}
<td></td>
{% end %}
类似这样的
石佛皮尔斯 2018-08-17
  • 打赏
  • 举报
回复
handlebars.js 渲染模板,虽然我没用过,但语法和art-template好像

87,919

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧