我有一些模板,我使用angular $ compile填充了我的数据库中的一些数据。然后我将其插入iframe中以将其显示给用户,然后将其保存在数据库中。
我的问题是,当我从模板中取出模板时,通过绑定内容放置在其中的数据会消失。我需要做些什么才能保留绑定数据?
我尝试创建一个新范围并使用现有范围,但在两种情况下都失败了。
这是我编译内容的地方:
//Method is called by the user
$scope.mountTemplate = function() {
//Load the template the user chose before
TemplateLoader.getTemplate($scope.modelTemplate.template + '.html').then(function(responseTemplate) {
//Load the template the user chose before, here i just read the html from a file
loadRegisters(url, $scope.formContentData.selected, append)
.then(function(response) {
$scope.itensTemplate = response.map(function(elem) { return configRegisters(elem); });
var compiledHTML = $compile(responseTemplate)($scope);
//Here the data appears
$('#divVisualizer').append(compiledHTML);
$timeout(function() {
//At this point, when i log it the ng-repeat and other binded data disappears
console.log('compiledHTML', compiledHTML);
}, 1000);
//At this point, when i place it inside the iframe the ng-repeat and other binded data disappears
$scope.trustedHTML = compiledHTML;
}, function(response) {
console.log('response', response);
});
}, function(response) {
console.log(response);
});
}
如何保存绑定数据?此外,我需要编译的响应是一个字符串,它作为一个对象返回。我怎么转换它?
修改
为了澄清我的应用程序的作用:我构建了一个简报构建器,用户从数据库中选择一些寄存器,并使用这些寄存器填充模板,之后将其保存在DB上以通过稍后发邮件。
答案 0 :(得分:0)
我设法使用服务和指令解决了我的问题,并使用延迟来帮助加载和填充数据