gpt4 book ai didi

AngularJS:从 compile() 和 link() 重构辅助函数

转载 作者:行者123 更新时间:2023-12-03 08:03:17 25 4
gpt4 key购买 nike

我的程序的一些指令需要有一个相当复杂的 DOM 操作和一些在编译和链接函数中的更多操作。如果我不使用指令,我会将该代码拆分为函数并将它们放在编译 fn 之外。

目前我有:

directive('myDir',...):
compile: function (element, attrs) {
var a1,a2;
a1 = action1() {...};
a2 = action2() {...};

a1(); a2();
return { link function }
}

相反,我宁愿:

directive('myDir',...):
compile: function (element, attrs) {
a1(); a2(); // a1 and a2 declared somewhere else
return { link function }
}

a1 和 a2 可以在指令中的其他地方声明,以保持组件可重用,但同时具有可读代码。这些函数的定义目前在这个编译函数中(不跨指令共享)。它只在那里需要,而且可能很长。

什么是组织这个的美妙方式?

我考虑过将指令包装在一个函数中:

(function () {
var a1 = function(params) {};
myapp.directive(...compile and link functions, as usual);
})();

最佳答案

是这样的吗?

myapp.directive('myDir', function() {
var a1 = function(params) {
};
var a2 = function(params) {
};
return {
link: ...,
compile:...
};
});

关于AngularJS:从 compile() 和 link() 重构辅助函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16811006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com