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));
}
我的 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));
}