如何在jsrender中检查数组null或为空?

时间:2015-03-28 06:42:36

标签: javascript jquery template-engine jsrender jsviews

这是我的代码

<script type="text/javascript">
			
		var test1 = {
				"type" : "success",
				"code" : "600",
				"data" : [ ]
			};
		
		var template = $.templates("#template");
		var htmlOutput = template.render(test1);
		$("#billListBox").html(htmlOutput);
		
		function billButtonOnClick(searchBillId,isComeFromBillClick,billDiv){
			console.log(searchBillId);
			console.log(isComeFromBillClick);
			console.log(billDiv);
		}

	</script>
<div id="billListBox"></div> 

我想在jsrender中检查数据是空的还是null?怎么检查?

3 个答案:

答案 0 :(得分:2)

您无法检查是否test1.data && test1.data.length > 0

jsrender还有if / else语句

答案 1 :(得分:1)

如果您使用的是{{for data}},那么您实际上并不需要测试空/ null(无论是在代码中还是在{{if}}...{{/if}}中包装)。

你可以简单地写

{{for data}}
    ...
{{/for}}

即使它为空或空也可以正常工作 - 它只会为该块提供任何内容。

或者如果你想要,你可以使用

{{for data}}
    ...
{{else}}
    output this if data is empty or null
{{/for}}

它会为null / empty情况输出你想要的任何内容。

请参阅http://www.jsviews.com/#fortag

答案 2 :(得分:0)

试试这个

var test1 = {
				"type" : "success",
				"code" : "600",
				"data" : [ ]
			};

//check condition if array is empty or not
if(jQuery.isEmptyObject(test1.data)){
	alert("array is empty");
}else{
	alert("array is not empty");
}
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>