【发布时间】:2015-04-22 08:40:19
【问题描述】:
您好,我遇到了一个困扰我的问题:
所以我有一个 ngOption 循环并显示 unicode 符号
<select class="form-control symbolSelect" ng-model="input.loadSymbol" ng-options="d as d.TagShpUTF for d in loadSymbols" ng-change=""></select>
这是一个 jsFiddle 示例,展示了它的工作原理:http://jsfiddle.net/tjm9a6o2/
我将数据源设置为具有这样的 unicode 字符:loadsymbols[0].TagShpUTF = '\u2660'
这一切都可以作为静态数据正常工作,但是当我尝试从我的数据库中提取数据时,它会将其显示为常规文本并且似乎不知道它是特殊的 unicode 字符。
这就是我在数据库中设置它的方式(不要介意其他列,TagShpUTF 是重要的列):
...我认为它正在做的是自动添加第二个斜杠'\',因此它可以是一个有效的字符串,但我不希望这种情况发生。我希望它被识别为 unicode,因此它在我的下拉列表中显示符号(如 jsFiddle),但它显示的是实际文本(如 '\u2660')。
任何建议都会非常有帮助。确实需要一种存储这些符号并将它们加载到下拉列表中的方法。我尝试了 HTML unicode 符号,但它们给我带来的问题比这种方法还要多。谢谢!
【问题讨论】:
-
你能用debugger\console.log从数据库中拉出代表unicode符号的字符串吗?
-
@OrGuz 它仍然看起来像这样 TagShpUTF: "\u2660"。
-
您是否尝试过使用“$sce.trustAsHtml(d.TagShpUTF)”来显示符号?在选项中:“..as $sce.trustAsHtml(d.TagShpUTF)”
-
是的,我在 TagShpUTF 周围放置了一个过滤器,例如“d as (d.TagShpUTF | html)...”。过滤器“html”返回 $sce.trustAsHtml(input)。可悲的是,没有运气。
-
当您将静态字符串与从数据库中检索到的字符串进行比较时,有什么区别? JSON.stringify(obj1) === JSON.stringify(obj2) 他们相等吗?
标签: javascript sql-server angularjs unicode ng-options