当用户点击一个按钮时,我想在一个html文件中加载一个模板并用范围编译它并检索结果以将其注入jsPDF。
目前,我成功加载模板并将编译后的结果注入jsPDF,但动态数据未被替换。
我该怎么做?
用户点击按钮时启动的功能:
$scope.getPDF = function () {
var templateUrl = $sce.getTrustedResourceUrl('views/customerDashboard/invoice.html');
$templateRequest(templateUrl).then(function(template) {
$scope.test = 'Hello world!';
var result = $compile(template)($scope);
invoice_generator(result[0].innerHTML);
}, function() {
// An error has occurred
});
};
invoice.html文件:
<div>
<p>{{ test }}</p>
</div>
答案 0 :(得分:1)
你必须通过$ interpolate服务运行它,因为插值在链接后发生(像$ compile一样注入):
invoice_generator($interpolate(result[0].innerHTML)(scope));
看看这个小提琴:https://jsfiddle.net/cwqo58b4/