从1.4版升级后出现AngularJS多链接错误

时间:2019-01-02 08:03:31

标签: angularjs angularjs-directive angularjs-compile

我有一个带有子指令的大指令,在该指令中我遇到了错误。确实,它是在主指令的transcludeFn()函数中调用link的步骤上发生的:

var link = function ($scope, elem, attr, parentCtrl, transcludeFn) {
            // Run all nested directives in order to properly register columns in grid.
            transcludeFn();

            // Add compiled content to directive element.
            elem.after($compile(template)($scope));
        };

无法解决该问题。我在文档中错过了什么?将$onInit作为described here的内容添加无济于事(我不确定自己做的正确吗)。

我对AngularJS并不熟悉,因此任何帮助都是一个好主意。

1 个答案:

答案 0 :(得分:0)

我真的不知道问题的根源是什么,但是我已经通过将虚函数传递到transcludeFn()中来解决了这个问题:

var link = function ($scope, elem, attr, parentCtrl, transcludeFn) {
    // Run all nested directives in order to properly register columns in grid.
    transcludeFn();
    transcludeFn(function() {
        // do nothing, only for fixing upgrade issue 
    });

    // Add compiled content to directive element.
    elem.after($compile(template)($scope));
};