我正在使用ngOptions构建选择菜单,但是其中一个标签中包含HTML实体&
。标签显示为Books & Stuff
否Books & Stuff
。我的玉是这样的:
select(ng-show="isType === 'select'", id="{{id}}", ng-model="model", ng-options="o.id as o.label for o in options")
如何使HTML实体正确显示?
更新
我正在尝试用sal回答:
select(ng-show="isType === 'select'", id="{{id}}", ng-model="model")
option(ng-repeat="o in options", ng-bind-html="o.label", value="{{o.id}}")
这将显示正确的html实体,但根据模型不再选择正确的选项。例如,请参见http://jsfiddle.net/ucLvjvkn/1/。
解决此问题的一种方法是与ng-repeat
一起使用ng-bind-html
(包含在ngSanitize中)ng-options
。这是一个有效的例子
var app = angular.module('app', ['ngSanitize']);
<option ng-repeat="options in options" ng-bind-html="options.text" value="{{options.text}}"></option>
JSFiddle Link-工作演示
此外,如果必须使用ng-options
以下帮助程序函数,请在绑定之前先对值进行解码
function htmlDecode(input) {
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes[0].nodeValue;
}
的jsfiddle链接-ng-options
演示
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句