Po przeczytaniu poradnika AngularJS krok 9 stworzyłem własny filtr AngularJS, który powinien konwertować dane boolowskie do html.
Oto mój kod filtra:
angular.module('phonecatFilters', []).filter('iconify', function () { // My custom filter
return function (input) {
return input ? '<i class="icon-ok"></i>' : '<i class="icon-remove"></i>';
}
});
Oto mój kod HTML:
<dt>Infrared</dt>
<dd>{{phone.connectivity.infrared | iconify }}"></dd>
Problem w tym, że borwser wyświetla zwracaną wartość dosłownie jako:
<i class="icon-ok"></i>
nie jako ikony (lub wyrenderowany html), które powinny się pojawić.
Myślę, że podczas tego procesu następuje pewna dezynfekcja.
Czy można wyłączyć tę sanityzację dla tego konkretnego filtra?
Wiem również, jak wyświetlać ikony, nie zwracając wyjścia HTML z filtru, a raczej po prostu „ok” lub „usuń” tekst, który mogę następnie zastąpić:
<i class="icon-{{phone.connectivity.infrared | iconify}}"><i>
ale nie tego chcę.