我通过Angular Strap的文档创建了一个模态。但有趣的是,Modal不会转换HTML元素。我已尝试使用和不使用内置的$ sce.trustAsHtml()方法,但模式仍然将html元素也渲染为字符串。 我只将模态用作对象。
这是我的Angular控制器:
var message = "<span>A szelvény sikeresen elmentve!" + " URL: </span><a href='" + url + "'>" + url + "</a>"
$scope.modal = {
"title": "Mentési eredmény",
"content": $sce.trustAsHtml(message)
};
这里是激活模态的按钮:
<button type="button" class="btn btn-sm btn-primary" ng-disabled="!savingResult.isSuccess" ng-click="saveSlip()" data-animation="am-fade-and-scale" data-placement="center" bs-modal="modal">
Mentés
</button>
任何团体都有一个想法,我应该如何使用模态的内容来转换HTML元素而不是呈现为字符串?
因为以下示例不会创建链接html元素,因为它显示为字符串...
答案 0 :(得分:3)
我遇到了同样的问题,并修复了以下代码:
'use strict';
var app = angular.module('angularApp', ['ngAnimate', 'ngSanitize', 'mgcrea.ngStrap']);
angular.module('angularApp')
.config(function($modalProvider) {
angular.extend($modalProvider.defaults, {
html: true
});
})
.controller('MyController', function($scope, $modal) {
$scope.modal = {title: 'Title', content: 'Hello Modal<br />This is an html formatted message!'};
});
解决方案是在.config块中将$ modalProvider.defaults调整为html:true。这需要注入ngSanitize扩展名。
希望有所帮助! ;)