Angularjs 如何获得点击事件

Angularjs 如何获得点击事件,angularjs,ng-bind-html,Angularjs,Ng Bind Html,你好,我绑定了一些HTML元素。看看下面的代码 <DIV ng-bind-html-unsafe="myHTML"></DIV> 控制器中的代码是 $scope.myHTML="<DIV ng-click="myFunc()"></DIV>" $scope.myFunc= function(){ alert("TEST"); } 这里正确加载了我的html。当我单击div时,我无法获得警报。您的代码中有语法错误: $scope.myHTML="

你好,我绑定了一些HTML元素。看看下面的代码

<DIV ng-bind-html-unsafe="myHTML"></DIV>
控制器中的代码是

$scope.myHTML="<DIV ng-click="myFunc()"></DIV>"
$scope.myFunc= function(){
alert("TEST");
}

这里正确加载了我的html。当我单击div时,我无法获得警报。

您的代码中有语法错误:

$scope.myHTML="<DIV ng-click="myFunc()"></DIV>"
ng bind html不安全不支持指令。我们必须以某种方式编译绑定的html

尝试通过编写指令来编译它:

app.directive("compile",function($compile,$timeout){
    return {
       priority:-1,
       link:function(scope, element, attrs) {
         $timeout(function(){
           $compile(element.contents())(scope);
         });

       }
    }
});
使用它:

<div ng-bind-html-unsafe="myHTML" compile></div>

它给了我以下错误未捕获错误:选择器未实现在angular js中有任何解决方案。我试着将它转换成以下格式$scope.myHTML=$compile$scope.myHTML$scope;它在div上的give me输出如下[[object htmldevelment]@Shardul Pendse:我想出了一个可行的解决方案,我们必须编写另一个指令来编译它。您好@KhanhTO感谢您的解决方案。在我这边,我从数据库中获取数据,然后准备一个HTML字符串,然后绑定它。那么,当我控制台element.contents时是如何操作的;它是空白的。那么,有没有像回电话这样的解决方案??意思是在内容绑定之后,我们可以调用指令。@KhanhTO当我在您给出的示例中放置console.logelement.contents时,它打印一些对象是绑定的。我们怎么才能弄清楚呢?
<div ng-bind-html-unsafe="myHTML" compile></div>
app.directive("myNgBindHtml",function($compile){
    return {
       link:function(scope, element, attrs) {

         scope.$watch(attrs.myNgBindHtml,function(value){
           element.html(value);
           $compile(element.contents())(scope);
         })
       }
    }
});