好的,所以我正在学习AngularJS,其中一项功能是允许用户在文本区域中键入HTML代码,然后将其发送到Controller并存储在code变量中。当用户按下按钮来测试代码时,我希望将文本插入HTML文档中。当前,它所做的只是将其添加为纯文本,而不是呈现它。
test-code.template.js:
<button type="button" class="btn btn-primary" ng-click="$ctrl.showCode()">Test Code</button>
<button type="button" class="btn btn-primary" ng-click="$ctrl.clearCode()">Reset All</button>
{{$ctrl.codeShow}}
test-code.component.js:
angular.
module('phonecatApp').
component('testCode', {
templateUrl: 'Components/test-code/test-code.template.html',
controller: [function TestCodeController() {
var self = this;
self.code = '';
self.codeShow = '';
self.showCode = function showCode()
{
self.codeShow = self.code;
}
self.clearCode = function clearCode()
{
self.codeShow = '';
self.code = '';
}
}]
});
只需澄清一下,按一下按钮就可以了,按一下按钮,数据就成功地从代码添加到codeShow了,它可以显示它,但是显示为明文而不是呈现。谢谢
答案 0 :(得分:4)
尝试
<div ng-bind-html="$ctrl.codeShow"></div>
另外,请参考https://docs.angularjs.org/api/ngSanitize/service/ $ sanitize以便更好地实施