Javascript ng单击“不处理新附加的图元”

Javascript ng单击“不处理新附加的图元”,javascript,angularjs,angularjs-ng-click,Javascript,Angularjs,Angularjs Ng Click,为什么我的ng click在添加按钮时不起作用?当我最初加载按钮时,相同的ng单击正在工作 app.controller('demoCtrl', function() { this.clk = '<button ng-click="dctrl.click()">Button</button>'; this.click = function() { alert('clicked');

为什么我的ng click在添加按钮时不起作用?当我最初加载按钮时,相同的ng单击正在工作

app.controller('demoCtrl', function() {


          this.clk = '<button ng-click="dctrl.click()">Button</button>';

          this.click = function() {

            alert('clicked');

          }
})

 app.directive('btnClick', function() {

          return {

            restrict: 'A',
            scope: {

              actionBtn: '='

            },
            link: function(scope, element, attrs) {

              element.append(scope.actionBtn);

            }

          }

})
您需要手动创建一个新的dom元素,以便angularjs使用它

app.directive('btnClick', ['$compile', function ($compile) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            element.append($compile(scope.$eval(attrs.actionBtn))(scope));
        }
    }
}])
var-app=angular.module('my-app',[],function(){})
app.controller('demoCtrl',function(){
this.clk='按钮';
this.click=函数(){
警报(“点击”);
}
})
app.directive('btnClick',['$compile',',
函数($compile){
返回{
限制:“A”,
链接:函数(范围、元素、属性){
append($compile(scope.$eval(attrs.actionBtn))(scope));
}
}
}
])


这可能会有帮助@mukesh:我已经尝试了这个元素;但是不工作
element.append($compile(scope.actionBtn)(scope))将无法工作,因为指令的隔离作用域也不能隔离作用域。@JoaoLeal:我如何在定义了隔离作用域的情况下使用它?我有另一个正在进行的点击功能scope@JoaoLeal:谢谢你的答复。你能解释一下这部分是做什么的吗?这个问题(和答案)应该对你有帮助
element.append($compile(scope.actionBtn)(scope));
app.directive('btnClick', ['$compile', function ($compile) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            element.append($compile(scope.$eval(attrs.actionBtn))(scope));
        }
    }
}])