"&"我已经阅读了示例并找到了 ng-bind-html 和 $sce。 似乎 ng-bind-ht-6ren">
gpt4 book ai didi

html - 如何使用 ngSanitize 正确转义特殊字符?

转载 作者:搜寻专家 更新时间:2023-10-31 22:29:28 26 4
gpt4 key购买 nike

我想让用户输入特殊字符,例如“&”,然后在提交页面时将其转换为正确的 html。 ex "&"=> "&"我已经阅读了示例并找到了 ng-bind-html$sce

似乎 ng-bind-html 对我的需要没有用,因为它只会显示从 Controller 发送的 html 文本在 View 中正确转换。例如:它会将“&”显示为“&”给用户。所以我正在做的是在将字符发送到服务器之前在 Controller 上使用“$sce”转换字符。例如:

var accountName = $sce($scope.accountName);

这是执行此操作的正确方法吗?或者是否有一种直接的方法来绑定(bind) View 以将经过清理的文本传递给 Controller ​​,就像 ng-bind-html 但在双向绑定(bind)中一样?我正在使用 Angular 1.2.4

最佳答案

根据 angular-sanitize.js 中包含的 ngSanitize 模块下的引用资料和示例,将输入解析为正确转义的 html 字符串的理想方法是使用 < strong>$sanitize 组件。例如:

var accountName = $sanitize( $scope.accountName );

为此,需要在 Angular 应用程序模块中包含 ngSanitize:

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

并在使用 $sanitize 的 Controller 中包含 $sanitize:

myapp.controller('myctrl', [ "$scope", "$sanitize", function ( $scope, $sanitize) {
// code goes here

var accountName = $sanitize( $scope.accountName );

// further processing after sanitizing html input goes here
}
}]);

$sce 是 Angular 中的一项服务,它提供严格的上下文转义,其中 Angular 需要在某些上下文中绑定(bind)可以安全使用的值。可以在 angular documentation 中找到更多信息。 .

关于html - 如何使用 ngSanitize 正确转义特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22777867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com