我正在使用AngularJS。我有一个范围变量$scope.TextToUser
,用html打印,以便在网站上显示给用户。在我的控制器中,代码很简单,看起来像这样;
$scope.TextToUser='UserText'
在相应的html页面上,代码只是{{TextToUser}}
。
我尝试使用控制器中的以下代码将文本变为红色;
$scope.TextToUser = '<font size="3" color="red"> 'UserText'</font>'
不幸的是,在html页面上,整个字符串被打印出来而不是UserText
为红色。如何将文字变成红色?简单,直接的方法将是首选。
答案 0 :(得分:1)
嗯,以下更合适:
app = angular.module('<name of your app>', ['ngSanitize']);
app.controller('<controller name>', function($scope, $interpolate){
$scope.Text = 'Test to User In Red';
$scope.TextToUser = $interpolate('<font size="3" color="red">{{Text}}</font>')($scope);
});
现在绑定html
:
<span ng-bind-html="TextToUser"></span>
您需要包含清理脚本。 https://code.angularjs.org/1.3.2/angular-sanitize.js
注意: - 我尝试使用$interpolate
,但是在unsafe
没有ngSanitize
的情况下它会出错。
工作插件是here。