2014-03-05 173 views
2

內我已經定義了以下指令添加指令:AngularJS - 從控制器

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-clickLinkFormatter呈現的標記調用示波器功能。

回答

0

你應該這樣做:

$compile(angular.element('<div copy-expenditure></div>'))($scope); 

,如果你有一個從範圍傳遞給它一些值,你編譯之後:

$scope.$digest();