将ng-click注入动态html

时间:2017-12-13 20:20:09

标签: angularjs

我有一个场景,我需要执行一些正则表达式匹配,然后当找到匹配项时,用链接替换文本,然后......链接应该执行一个函数:

app.factory('documentManipulationService',
    function ($sce) {
        return {
            Link: function (htmlDoc, termsToLink) {
                    termsToLink.sort(function (a, b) {
                        return b.length - a.length;
                    });
                    var regex = new RegExp('(?!")(' + termsToLink.join('|') + ')(?!")', 'g');

                    return $sce.trustAsHtml(htmlDoc.toString().replace(regex, '<span id="l$&" ng-click="previewLink()" class="packagerLink pointer">$&</span>'));
            }
        }
    });

html由$ scope.htmlDoc建模,并通过Api调用返回,然后由上述服务修改,如下所示:

$scope.htmlDoc = $sce.trustAsHtml(documentManipulationService.Link($scope.htmlDoc, [searchTerm]));

然而,它看起来并不像ng-click那样。我做了一些研究,我想我需要编译它?但是我没有运气这样做。

我不太熟悉指令,我在网上找到的指令似乎与我的实现无关,因为我在实现时需要ng-model和froala指令(文本编辑器):

<textarea style="margin-left: auto; margin-right: auto;"  
id="htmlEditor" froala="froalaOptions" ng-model="htmlDoc"></textarea>

如何让ng-click显示在我修改过的html中,并启动它的功能?

0 个答案:

没有答案