我正在努力完成一些非常好的事情(而且非常奇怪)。
我有一个 Angular Controller 调用(使用 $http.get,传递从 Angular 获得的参数)一个 php 脚本,其中 从数据库获取一些数据并决定回显两个可能的 html 模板之一。
问题是,在这些模板中,有一些表达式应该由 Angular 解析。他们没有。
以下是脚本:
第一个 Angular Controller :
$http.get("../php/jwtCheck.php?token=" + localStorage.token + "&courseid=" + $stateParams.id).success(function (response) {
$scope.phpData = $sce.trustAsHtml(response);
});
接收php脚本:
//doing mysql stuff
if (sqlStuff::isBought($row[bought], $stuffID)){
include '../boughtTemplate.html';
} else
{
include "../previewTemplate.html";
}
在模板内,我对 Angular $scope 进行了调用:
<video data-html5-video="{{generateVideoFolder($index)}}" data-controls="true" data-preload="false" data-width="400" data-height="224">
</video>
它从未被 Angular 解析。
有什么想法吗?
最佳答案
您需要编译phpData
。
这是我从另一个SO问题中偷来的一种方法:https://stackoverflow.com/a/29994559/3563439
在我的 Fiddle 中查看适用于您的案例的解决方案:http://jsfiddle.net/masa671/zfftw7qr/
关于javascript - Angular.js + PHP : angular expression not executed if inside a ngSanitized html template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33760504/