2016-12-15 91 views
0

我已经看到过这个过程,我试图实现一个封装函数,但是它打破了我的指令。没有封装它的作品。有没有人以前做过或有人知道为什么它违反了指令?如何将JS封装函数封装在指令中

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' 
    } 
    }); 
}); 
+3

我认为这个问题是你是不是调用该函数,它应该()(){....})()'验证把最后一个'()'括起来 –

回答

2

什么你谈论的是被称为IIFE(立即调用的函数表达式)。

你有一部分是正确的,因为亚历杭德罗指出你错过了()这将调用该函数的问题。

因此改变你的代码看起来像这样:

(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?

+0

我认为这个评论已经足够了:P但是如果你想去代表,你总是可以解释为真:) –

+0

@AlejandroVales不知何故,总能达到这个1k里程碑:P – George

+0

AHAHHHHA哈哈!里程碑是伟大的,但不是今生唯一的事情:P –