2015-03-28 5 views
1

Это мой код нижеКак проверить массив пустым или пустым в jsrender?

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

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

Я хочу, чтобы проверить данные пуст или нуль в jsrender? как проверить?

ответ

1

Если вы используете {{for data}}, то вы на самом деле не нужно test для empty/null (будь то в коде или путем обертывания в {{if}}...{{/if}}).

Вы можете просто написать

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

и что будет работать хорошо, даже если он пуст или нулевой - это не просто делают ничего для этого блока.

Или, если вы хотите, вы можете использовать

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

и будет выводить все, что вы хотите для нулевого/пустого случая.

См http://www.jsviews.com/#fortag

+0

спасибо .... это работает прекрасно. –

2

не могли бы вы просто проверить, если test1.data && test1.data.length > 0

jsrender имеет, если/иначе, а также

+0

спасибо ... человек ..Это работает –

0

Попробуйте


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

 
//check condition if array is empty or not 
 
if(jQuery.isEmptyObject(test1.data)){ 
 
\t alert("array is empty"); 
 
}else{ 
 
\t alert("array is not empty"); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Смежные вопросы