Angular.js+PHP:如果在ngSanitized html模板内,则不执行Angular表达式


Angular.js + PHP: angular expression not executed if inside a ngSanitized html template

我正在努力完成一些非常好(也非常奇怪)的事情。

我有一个angular控制器调用(使用$http.get,传递从angular获得的参数)一个php脚本从数据库中获取一些数据,并决定从两个可能的html模板中选择一个进行回显。

问题是,在这些模板中,有一些表达式应该通过angular进行解析。他们没有。

以下是脚本:

第一个角度控制器:

    $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/