我有这个验证,每次用户输入错误的电子邮件时,我都会尝试进行这种验证。我正在通过我的 html 中的变量来处理它,如下所示:
<p class="error" ng-show="!!user.errorText || form.$submitted">
{{user.errorText}}
</p>
到目前为止,一切都很好,因为我正在用控制器中的文本值替换错误文本,如下所示:
$scope.user.errorText = "Email is incorrect"
现在,我实际上想插入一个像<a>
这样的 html 标签。例如:
$scope.user.errorText = "Email is incorrect . <a href='#'>View Examples</a>"
但是可用的{{user.errorText}}
总是将其重新命名为文本。有关如何呈现标签和文本的任何帮助都会有所帮助。此外,我无法替换 html 中的{{user.errorText}}
,因为它已经用于 n 次验证,并且使用 html 标签的情况很少见。
您可以使用ng-bind-html
指令来绑定 html 文本(它也适用于简单文本(:
<p ng-bind-html="user.errorText"></p>
https://docs.angularjs.org/api/ng/directive/ngBindHtml
如果应用程序中未包含angular-sanitize.js
,则将显示以下错误:
angular.min.js:1 错误: [$sce:不安全] 尝试在安全上下文中使用不安全的值。
在这种情况下,$sce
服务需要像这样使用:
$scope.user.errorText = $sce.trustAsHtml("Email is incorrect . <a href='#'>View Examples</a>");