2017-03-12 20 views
2

Ich bin neu bei angularJs und versuche, den "John Papa style guide" für angularJs-Kodierung anzuwenden.IIFE-Deklination des angularJs-Filters

Ich habe den folgenden HTML-Code:

(function(){ 
 
    
 
    "use strict"; 
 
    
 
    angular 
 
    .module("crm",[]) 
 
    .controller("studentList",studentList) 
 
    .filter("firstLetter", function(){ 
 
     return function(input) { 
 
      return input.substring(0,1); 
 
     } 
 
     } 
 
    ); 
 
    
 

 
    /** controller */ 
 
    function studentList($scope){ 
 
    //some code 
 
    } 
 
})();
<div class="container" ng-controller="studentList">  
 
     
 
{{"Hello"|firstLetter}} 
 
     
 
</div>

Dieser Code funktioniert gut. Dann mag ich die Filter erklären, wie folgend:

(function(){ 
 
    
 
    "use strict"; 
 
    
 
    angular 
 
    .module("crm",[]) 
 
    .controller("studentList",studentList) 
 
    .filter("firstLetter", firstLetter); 
 
    
 

 
    /** controller */ 
 
    function studentList($scope){ 
 
    //some code 
 
    } 
 

 
    /** filter */ 
 
    function firstLetter(input){ 
 
    return input.substring(0,1); 
 
    } 
 
    
 
})();

und dann habe ich eine Fehlermeldung bekam beim Laufen:

"Error: [$injector:unpr] http://errors.angularjs.org/1.5.6/ $injector/unpr?p0=inputProvider%20%3C-%20input%20%3C-%20firstLetterFilter

Also ich denke, ich brauche die Filter zu injizieren irgendwie, aber ich weiß nicht, wie es geht. Irgendwelche Ideen ? Danke!

+0

Eigentlich i verändert nur den Code in js: /** * Filter/ Funktion first() {return Funktion (Eingang) { return Eingangs .substring (0,1); } } und es funktioniert :-) –

Antwort

0

Actually, I just changed the JS code into:

/** filter */ 
function firstLetter() { 
    return function(input) { 
     return input.substring(0,1); 
    } 
} 

and it's working :-)

von Serge Gilette (OP)

Verwandte Themen