Có cách nào để nói trong góc một cái gì đó như thế này:Hiển thị "-" nếu giá trị trống?
<th ng-repeat=" o in Odds" >{{o.Name || "-"}}</th>
Vì vậy, nếu không có dữ liệu trong o.Name để hiển thị "-"?
Có cách nào để nói trong góc một cái gì đó như thế này:Hiển thị "-" nếu giá trị trống?
<th ng-repeat=" o in Odds" >{{o.Name || "-"}}</th>
Vì vậy, nếu không có dữ liệu trong o.Name để hiển thị "-"?
dụ bạn nên làm việc, nhưng nếu bạn có khoảng trắng hoặc một chức năng trong o.Name nó sẽ không giải quyết để falsey và bạn sẽ nhận được một không gian vô hình trong HTML chứ không phải là dấu gạch ngang mong muốn.
Một bộ lọc chung có thể được sử dụng để thay thế các giá trị rỗng cho dấu gạch ngang và áp dụng bình thường khác nhau trên đầu vào đầu tiên:
angular.module('App.filters', []).filter('placeholder', [function() {
return function (text, placeholder) {
// If we're dealing with a function, get the value
if (angular.isFunction(text)) text = text();
// Trim any whitespace and show placeholder if no content
return text.trim() || placeholder;
};
}]);
Sau đó, bạn có thể sử dụng nó như sau:
<th ng-repeat=" o in Odds" >{{o.Name | placeholder:'-'}}</th>
Đây là sau đó hoàn toàn có thể tái sử dụng cho các hàng/cột khác và bất kỳ nơi nào khác mà bạn muốn áp dụng cùng một quy tắc.
nếu hàm không trả về chuỗi thì sao? – Grundy
Với mã trên, bạn sẽ gặp lỗi. Thật ra, tôi đã trình diễn một ví dụ đơn giản giải quyết vấn đề OP trực tiếp. Tất nhiên một bộ lọc như thế này cung cấp cho bạn rất nhiều phạm vi để xác nhận và gõ kiểm tra đầu vào của bạn và tính toán như vậy ra khỏi các tập tin HTML của bạn. – seanhodges
Đối với trường hợp này, bạn có thể sử dụng ngIf như thế này:
<th ng-repeat=" o in Odds" >
<span ng-if="o.Name">{{o.Name}}</span>
<span ng-if="!o.Name"> - </span>
</th>
Mã của bạn là công việc [JSFiddle] (https://jsfiddle.net/bwh5abv8/3/) – valverde93
Những câu trả lời đưa ra một lựa chọn chính xác, nhưng họ không giải quyết thực tế là nếu những gì bạn có quyền không làm việc, giá trị thực sự không phải là falsey khi bạn chạy nó. – jdphenix
vì vậy, như đã đề cập trước khi ví dụ của bạn là chính xác, bạn có thể đăng một ví dụ về dữ liệu của bạn trong 'Tỷ lệ cược' và chúng tôi có thể tìm ra lý do tại sao nó không hoạt động cho bạn –