JavaScript 从AngularJS控制器将HTML插入视图
是否可以在AngularJS控制器中创建 片段并将该HTML显示在视图中?
这是因为需要将不一致的JSON Blob转换为嵌套的id: value
对对列表。因此,在控制器中创建了 ,现在我希望显示它。
我已经创建了一个模型属性,但是如果不打印 便无法在视图中呈现它。
更新资料
看起来问题出在将创建的HTML角化为引号内的字符串而引起。将尝试找到解决此问题的方法。
控制器示例:
var SomeController = function () { this.customHtml = '<ul><li>render me please</li></ul>';
}
示例视图:
<div ng:bind="customHtml"></div>
给出:
<div> "<ul><li>render me please</li></ul>"
</div>
回答:
对于Angular 1.x,ng-bind-html
在HTML中使用:
<div ng-bind-html="thisCanBeusedInsideNgBindHtml"></div>
此时,您将得到一个attempting to use an unsafe value in a safe
context错误,因此您需要使用ngSanitize或$sce来解决该问题。
$ sce
$sce.trustAsHtml()
在控制器中使用以转换html字符串。
$scope.thisCanBeusedInsideNgBindHtml = $sce.trustAsHtml(someHtmlVar);
ng消毒
分两个步骤:
包括angular-sanitize.min.js资源,即:
<script src="lib/angular/angular-sanitize.min.js"></script>
在js文件(控制器或通常为app.js)中,包含ngSanitize,即:
angular.module('myApp', ['myApp.filters', 'myApp.services',
'myApp.directives', 'ngSanitize'])
以上是 JavaScript 从AngularJS控制器将HTML插入视图 的全部内容, 来源链接: utcz.com/qa/402696.html