Sau khi đọc AngularJS tutorial step-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.Cách tạo bộ lọc angularjs xuất ra 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à rằng màn borwser trở giá trị theo nghĩa đen như:
<i class="icon-ok"></i>
không phải là biểu tượng (hoặc html được hiển thị) sẽ xuất hiện.
Tôi nghĩ rằng một số viêm nhiễm xảy ra trong quá trình này.
Có thể tắt tính năng khử trùng này cho bộ lọc cụ thể này không?
Ngoài ra tôi biết làm thế nào để hiển thị các biểu tượng bằng cách không trở về đầu ra HTML từ bộ lọc mà chỉ 'ok' hoặc 'loại bỏ' text mà tôi sau đó có thể thay thế cho:
<i class="icon-{{phone.connectivity.infrared | iconify}}"><i>
nhưng đây không phải là những gì tôi muốn .
cảm ơn bạn đã trả lời nhưng giải pháp của bạn hầu như giống với biểu tượng '' và tôi không sử dụng thêm thẻ SPAN trong trường hợp của tôi. –
Vâng đó là cách duy nhất tôi biết để xuất html thô với angularJS và ràng buộc này chỉ được cho phép trên các thuộc tính, do đó bạn không có nhiều lựa chọn, bạn có thể viết chỉ thị của riêng bạn chấp nhận các nhận xét hoặc các phần tử ràng buộc, lấy mã nguồn của ràng buộc -html cho điểm bắt đầu: https://github.com/angular/angular.js/blob/master/src/ngSanitize/directive/ngBindHtml.js – Guillaume86
Chỉ thị có thể là giải pháp đẹp nhất ở đây nhưng nó không thực sự ngắn hơn giải pháp của bạn;) –
Guillaume86