如何围绕指令包装 JS 封装函数
How to Wrap a JS Encapsulating Function Around a Directive
我以前见过这个,我正在尝试实现一个封装函数,但它破坏了我的指令。没有封装它就可以工作。以前有没有人这样做过或者有人知道为什么它违反了指令?
https://jsfiddle.net/ciderman/a0n9h0ar/1/
(function () {
myApp.directive('myPerfectDirective', function(){
return{
restrict: 'E',
scope: {
data: '='
},
template: '<p>my perrrrrrfeccct directivve</p>',
templateUrl: 'book-widget.html'
}
});
});
你说的是 IIFE(立即调用函数表达式)。
你说对了一部分,正如 Alejandro 指出的那样,你缺少将调用该函数的 ()
。
所以将您的代码更改为如下所示:
(function () {
myApp.directive('myPerfectDirective', function(){
return{
restrict: 'E',
scope: {
data: '='
},
template: '<p>my perrrrrrfeccct directivve</p>',
templateUrl: 'book-widget.html'
}
});
})();
有关 IIFE(发音为 IIFY)的更多信息,请查看此处 What is the (function() { } )() construct in JavaScript?
我以前见过这个,我正在尝试实现一个封装函数,但它破坏了我的指令。没有封装它就可以工作。以前有没有人这样做过或者有人知道为什么它违反了指令?
https://jsfiddle.net/ciderman/a0n9h0ar/1/
(function () {
myApp.directive('myPerfectDirective', function(){
return{
restrict: 'E',
scope: {
data: '='
},
template: '<p>my perrrrrrfeccct directivve</p>',
templateUrl: 'book-widget.html'
}
});
});
你说的是 IIFE(立即调用函数表达式)。
你说对了一部分,正如 Alejandro 指出的那样,你缺少将调用该函数的 ()
。
所以将您的代码更改为如下所示:
(function () {
myApp.directive('myPerfectDirective', function(){
return{
restrict: 'E',
scope: {
data: '='
},
template: '<p>my perrrrrrfeccct directivve</p>',
templateUrl: 'book-widget.html'
}
});
})();
有关 IIFE(发音为 IIFY)的更多信息,请查看此处 What is the (function() { } )() construct in JavaScript?