Angular 在前置 html 中使用 ng-click

Angular use ng-click in prepended html

我的 html 中有这个元素:

<div class='printOptionElements'></div>

我想在我的控制器中用 ng-click-elements 动态填充它。

$scope.printoptions = function() {
         $(".printOptionElements").append("<div class='printoption printhideelement' ng-click='printhide()'>Hide</div>");
    }
if (document.URL.indexOf("print=true") > 0) {
         $scope.printoptions();
}

$scope.printhide = function() {
        alert("hidetest");
    }

printoption 元素将出现,但 ng-click 将不起作用。我认为 angular 在这个 ng-click 出现之前显示 ng-clicks。我可以对 "activate" ng-click 做些什么?

感谢您的帮助:)

问候 托马斯

您需要将 $compile 服务注入到您的控制器中,然后在附加之前根据控制器的范围编译内容:

$scope.printoptions = function() {
        var content = "<div class='printoption printhideelement' ng-click='printhide()'>Hide</div>";

        $(".printOptionElements").append($compile(content)($scope));
    }