我定义了以下指令:
app.directive('copyExpenditure', function(){
return {
restrict: 'A',
scope: true,
template: '<button ng-click="copyExpenditure()">click me</button>'
}
});
如果我将此指令直接添加到html中,它会按预期工作。
<div copy-expenditure></div>
现在我正在控制器中创建一个网格,并希望动态地向每一行添加copyExpenditure指令。对于此任务,我正在使用Slickgrid and a custom Formatter。
var LinkFormatter = function (row, cell, value, columnDef, dataContext) {
var tag = '<div copy-expenditure></div>';
return tag;
}
但似乎这个自定义格式化程序不是作为指令呈现的,而是仅作为HTMl呈现。知道该怎么办?我的目标只是使用ng-click
调用范围函数和LinkFormatter
呈现的标记。
答案 0 :(得分:0)
你应该这样做:
$compile(angular.element('<div copy-expenditure></div>'))($scope);
如果从范围传递了一些值,则在编译后执行此操作:
$scope.$digest();