2016-03-18 29 views
5

Tôi đã nhận được đối tượng từ máy chủ và cố gắng hiển thị các trường của nó trong bảng. Tất cả các trường đều hiển thị tốt nhưng boolean luôn hiển thị là "không".Angularjs hiển thị boolean từ đối tượng

<tr ng-repeat="u in ctrl.users"> 
     <td><span ng-bind="u.id"></span></td> 
     <td><span ng-bind="u.name"></span></td> 
     <td><span ng-bind="u.age"></span></td> 
     <td><span ng-bind="u.isAdmin ? 'yes' : 'no'" ></span></td> 
</tr> 

Tôi đã cố gắng thêm bộ lọc, nhưng kết quả giống nhau.

+2

Xin chào. Bạn có chắc chắn rằng isAdmin không phải là sai cho tất cả người dùng? Hãy thử hiển thị như thế này: '' và xem những gì bạn nhận được – dpaul1994

+0

hoặc có thể không xác định? – JEY

+0

Tôi chắc chắn rằng isAdmin không phải là sai cho tất cả người dùng. – Geha

Trả lời

2

Kiểm tra kỹ xem bạn có tên tài sản ngay trong mã không.

Bạn có thể in các đối tượng u như json với

<pre>{{u | json}}</pre> 

Tôi khá chắc chắn rằng nếu giá trị là trong cơ sở dữ liệu và không phải là sai hoặc null, sau đó bạn có tên sai, và nó không phải là isAdmin mà là một thứ khác.

EDIT: Có vẻ như tôi đã đúng và bạn đang sử dụng tên thuộc tính admin để thay thế.

0

Khi bạn quay lại boolean giá trị từ cuộc gọi ajax bạn luôn có được nó như là chuỗi. Vì vậy, bạn cần phải kiểm tra nó như thế này

<span ng-bind="name =='true'? 'yes' : 'no'"></span> 
+2

Downvoter bình luận xin vui lòng.Tôi hy vọng bạn biết lý do chính xác –

+0

Lý do là @ Geha nói trong một bình luận của bài viết của nó, rằng tài sản 'isAdmin' không hiển thị bất cứ điều gì. Câu trả lời của bạn sau đó không hợp lệ. – Erazihel

+0

@Erazihel OP cũng đã nêu ban đầu trong câu hỏi của mình rằng * Tất cả các trường đều hiển thị tốt nhưng boolean luôn hiển thị là "không". * Xung đột nhận xét thứ hai của anh ấy. Tôi nghĩ rằng OP không chính xác trong nhận xét vì 'u.isAdmin' có thể không được xác định hoặc nếu không sẽ được đánh giá là biểu thức trung thực/giả. Để làm cho "không có gì" dường như không thể trừ khi Angular đang ném một ngoại lệ ở đâu đó mà không được đề cập đến. Tôi nghĩ rằng downvote là quá mức. – jusopi

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