小编典典

ajax html响应中的AngularJs数据绑定

angularjs

我正在使用python / django作为具有复杂表单结构的后端。
我有一个角度控制器,该控制器使并要求获得合适的形式。我找到了一个django-angleular包,它将ng-
model属性添加到输入中。因此,我正在服务器端使用表单呈现模板,并使用HTML提供响应。使用HTML作为响应可能不是最佳实践,但是它使事情耗时少得多。

所以我的问题是,我得到了带有形式的HTML响应和带有’ng-model’属性的输入,但是这种绑定不起作用。有没有办法做到这一点?这只是此html注入的示例:

控制器:

$scope.form = $sce.trustAsHtml(data.HTML);

模板/视图:

<div ng-bind-html="form"></div>

阅读 221

收藏
2020-07-04

共1个答案

小编典典

[$compile](https://docs.angularjs.org/api/ng/service/$compile)您的html 创建指令。

angular.module("app").directive('compilehtml', ["$compile", "$parse", function($compile, $parse) {
    return {
        restrict: 'A',
        link: function($scope, element, attr) {
            var parse = $parse(attr.ngBindHtml);
            function value() { return (parse($scope) || '').toString(); }

            $scope.$watch(value, function() {
                $compile(element, null, -9999)($scope); 
            });
        }
    }
}]);

然后添加此指令

<div ng-bind-html="form" compilehtml></div>

演示

2020-07-04