2009-10-22 19 views
8

Tôi có một xtemplate ExtJS đang ném lỗi do cách đối tượng json được trả về.Mở câu hỏi JS xtemplate - kiểm tra xem trường có tồn tại

Đôi khi đối tượng json có một trường customer được xác định, nhưng đôi khi nó hoàn toàn thiếu đối tượng.

Rõ ràng, tôi gặp lỗi khách hàng không được xác định khi áp dụng mẫu của tôi cho json nơi trường bị thiếu.

Vì vậy, câu hỏi của tôi là:
Có cách nào để tôi có thể kiểm tra trường không xác định trong xtemplate không?

Giống như:

<tpl if="customer!=undefined">{customer}</tpl> 

rõ ràng là tôi đã cố gắng này, nhưng nó không hoạt động.

Cảm ơn bạn đã được trợ giúp.

Trả lời

4

Bạn đã thử điều này chưa?

<tpl if="customer == undefined"> 
    <b>{customer}</b> 
</tpl> 
+0

làm việc này. cảm ơn :) – 29er

13

Trừ khi tôi là nhầm lẫn, bạn nên chỉ có thể làm một cái gì đó như sau:

<tpl if="customer"> 
    <b>{customer}</b> 
</tpl> 

Ngoài ra, bạn sẽ có thể nhúng (mặc dù còn hạn chế, không chắc chắn nếu ví dụ ternary của tôi sẽ hoạt động như mong đợi) Javascript vào XTemplates như vậy:

{[values.customer]} 
{[values.customer ? customer : 'Empty']} 
+0

điều này cũng làm việc. cảm ơn!! – 29er

+2

Đối với tôi chỉ hoạt động: {[values.customer? values.customer: 'Empty']} nếu không tôi nhận được lỗi: [INFO] [Ext.XTemplate # apply] Lỗi: khách hàng không được định nghĩa –

+0

Điều này cũng sẽ hoạt động: '{[values.customer || 'Empty']} ' –

Các vấn đề liên quan