0

我创建了一个简单的应用程序(角度 1.6),允许用户保存代码并使用 prismjs 显示代码突出显示。唯一的问题是,当我从指令中调用 Prism.highlightAll 时,我必须使用 angular 的 $timeout 方法,延迟一秒。

app.directive("markupPanels", function($timeout) {
return {
    restrict: "E",
    replace: true,
    templateUrl: "directives/markupPanel.html",
    link: function() {
        $timeout(function() {
            Prism.highlightAll();
        }, 1000)
    }
}

延迟 1 秒突出显示的代码

然而,浏览器会闪烁,我认为必须有更好的方法来做到这一点。

4

1 回答 1

0

使用element.ready().

link: function($scope, element) {
    element.ready(function() {
        Prism.highlightElement(element[0]);
    });
}

来源:角棱镜

于 2017-12-20T14:35:01.190 回答