Sau khi đọc hướng dẫn AngularJS bước-9, tôi đã tạo bộ lọc AngularJS của riêng mình, bộ lọc này sẽ chuyển đổi dữ liệu boolean thành html.
Đây là mã bộ lọc của tôi:
angular.module('phonecatFilters', []).filter('iconify', function () { // My custom filter
return function (input) {
return input ? '<i class="icon-ok"></i>' : '<i class="icon-remove"></i>';
}
});
Đây là mã HTML của tôi:
<dt>Infrared</dt>
<dd>{{phone.connectivity.infrared | iconify }}"></dd>
Vấn đề là borwser hiển thị giá trị trả về theo nghĩa đen là:
<i class="icon-ok"></i>
không phải là các biểu tượng (hoặc html được kết xuất) sẽ xuất hiện.
Tôi nghĩ rằng một số sanitisation xảy ra trong quá trình này.
Có thể tắt chế độ vệ sinh này cho bộ lọc cụ thể này không?
Ngoài ra, tôi biết cách hiển thị các biểu tượng bằng cách không trả lại đầu ra HTML từ bộ lọc mà chỉ trả về văn bản 'ok' hoặc 'remove' mà sau đó tôi có thể thay thế thành:
<i class="icon-{{phone.connectivity.infrared | iconify}}"><i>
nhưng đây không phải là điều tôi muốn.