当前位置:  开发笔记 > 编程语言 > 正文

使用AngularJS在HTML中显示Unicode?

如何解决《使用AngularJS在HTML中显示Unicode?》经验,为你挑选了2个好方法。

我在使用AngularJS控制器在HTML中显示Unicode时遇到问题.这是我的JavaScript:

var mOverview = angular.module('mOverview', []);

mOverview.controller('mOverviewController', function ($scope, $sce) {
  $scope.mData = [
    {
        'name': '↓'+'NASDAQ', // here the unicode is ↓ but the output is also ↓ which is supposed to be a down-arrow
        'amount': '15,698.85',
        'upDown': '+105.84'
        }
    ];
});

这是我的HTML:

{{md.name}} {{md.amount}} {{md.upDown}}

我试过$sanitise()trustAsHtml,但没有成功.那么,如何在HTML中显示Unicode 向下箭头?



1> bobince..:

避免从脚本编写HTML标记.只要数据可能包含HTML特殊字符<,&您就会遇到破损和潜在的安全问题(XSS).

HTML标记引用的字符是U + 2193向下箭头.您可以使用JS字符串文字转义直接在JavaScript中引用它:

'name': '\u2193NASDAQ',

或者,如果您的页面/脚本始终保存并以Unicode安全格式(例如UTF-8)提供,那么您根本不需要将其转义:

'name': '?NASDAQ',



2> javaCity..:

具有严格上下文转义的角船.因此,您必须明确表示要将某些字符呈现为HTML.

注意,我还在ng-sanitize外部资源中添加了.

我创建了一个新的过滤器

mOverview.filter('unsafe', function($sce) {
    return function(val) {
        return $sce.trustAsHtml(val);
    };
});

并在视图中使用它像这样:


http://jsfiddle.net/9UdVY/

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有