2016-10-30 8 views
2

コードに何が問題なのか教えてください。何も見逃していないからです。授業中は全部動いていた。私はJavaScriptと角度にはかなり新しいです。エラー:[ng:areq]引数 'angularJSCtrl'は関数ではありません。定義されていません。

同じエラーで他のスレッドをチェックしようとしましたが、問題の解決に役立たなかった。

index.htmlを

<!DOCTYPE html> 
<html ng-app="angularJS"> 
<head> 
    <script src="/bower_components/angular/angular.js"></script> 
    <script src="app.js"></script> 
    <script src="controller.js"></script> 
</head> 

<body> 

    {{"Type your name"}} 

    <div ng-controller="angularJSCtrl as kontrol"> 

     <button ng-click ="kontrol.sayHello()"> Click here </button> 
     <input type="text" ng-model="kontrol.name"> 
     <h3> All students list </h3> 

     <div ng-repeat="el in kontrol.studentObj"> 
      <div ng-show="{{ el.age < 20 }}"> {{el}}</div> 
     </div> 

     <includer></includer> 
     <br> 
     {{ kontrol.price | currency}} 
     <br> 
     {{ kontrol.date | date}} 

    </div> 

controller.js

 (function() { 
      angular.module("angularJS") 
      .controller("angularJSCtrl", angularJSMethod); 
      .directive("directCtrl", directMethod); 

      function angularJSMethod(){ 
       var vm = this; 
       vm.sayHello = sayHello; 
       vm.name = "Orkun"; 
       vm.studentNames = ['John', 'Robbert', 'Adam']; 
       vm.studentObj = [{name: 'Orkun', age: 22}, {name: 'Bob', age: 18}]; 
       vm.price = 2000; 
       vm.date = new Date(); 

      function sayHello(){ 
       alert("Welcome" + ' ' + vm.name) 
      }} 

      function directMethod(){ 
       return { 
        restrict: 'E', 
        templateUrl: 'custom.html' 
       } 
      } 

     })(); 

app.js

(function() { 
    angular.module("angularJS", []); 

})(); 
+0

正常に動作しますが、あなたはkontrol' ''としてas'を宣言するが、あなたのコントローラであなたは、VMとして 'as'を宣言します。あなたのhtmlも 'vm'でなければなりません。 'ng-controller =" angularJSCtrlをvm " –

答えて

3

実は、問題はあなたが必要としないということですsemicolon

.controller("angularJSCtrl", angularJSMethod); <--- here 
    .directive("directCtrl", directMethod); 

はそれを削除し、すべてがあなたのhtmlに

+0

ありがとう、それは動作します:) –

関連する問題