【问题标题】:AngularJS - Add directive from within controllerAngularJS - 从控制器内添加指令
【发布时间】:2014-04-07 04:30:56
【问题描述】:

我定义了以下指令:

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 呈现的标签调用作用域函数。

【问题讨论】:

    标签: angularjs slickgrid


    【解决方案1】:

    你应该这样做:

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

    如果你有一些值是从作用域传入的,你可以在编译后这样做:

    $scope.$digest();
    

    【讨论】:

      猜你喜欢
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 2017-03-23
      相关资源
      最近更新 更多