Javascript ng单击“不处理新附加的图元”
为什么我的ng click在添加按钮时不起作用?当我最初加载按钮时,相同的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');
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));
}
}
}])