我有这个代码:
<span data-icon="{{table.addIcon || ''}}"></span>
该跨度创建一个像这样的图标:
但是,我想给使用这个指令的开发者定义一个新图标的可能性。它正在工作,但是,我遇到的问题是,假设我有这个:
$scope.table.addIcon = ""
而不是创建元素
<span data-icon=""></span>
它会创建它
<span data-icon="&#xe070;"></span>
这将无法添加图标,所以不要看到这个:
我所拥有的是:
有没有办法避免角度转换&
成&
?
添加解决方案
感谢 miensol,解决方案是这样的:
.directive("changeIcon", function() {
var d = document.createElement("div");
return {
restrict: "A",
link: function($scope, $ele, $attrs) {
log($attrs);
var originalIcon;
$scope.decodedIcon = $attrs.icon;
do {
originalIcon = $scope.decodedIcon;
d.innerHTML = originalIcon;
$scope.decodedIcon = d.firstChild.nodeValue;
} while (originalIcon != $scope.decodedIcon);
$attrs.$set('data-icon', $scope.decodedIcon);
}
}
})
它是这样使用的:
<span change-icon icon="{{table.addIcon || ''}}"></span>