从 1.4 版升级后出现 AngularJS 多链接错误
Getting AngularJS multilink error after upgrade from v. 1.4
我有一个带有子指令的大指令,但我在其中遇到了错误。确切地说,它发生在主指令的 link
函数中调用 transcludeFn()
的步骤上:
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 所以任何帮助都是很好的。
我真的不知道问题的根源是什么,但我通过将一个虚拟函数传递给 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));
};
我有一个带有子指令的大指令,但我在其中遇到了错误。确切地说,它发生在主指令的 link
函数中调用 transcludeFn()
的步骤上:
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 所以任何帮助都是很好的。
我真的不知道问题的根源是什么,但我通过将一个虚拟函数传递给 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));
};