2016-10-13 2 views
-2

コードは、このリンクにある動作することはできません。 " 'MyController' 引数関数ではありません、未定義 http://errors.angularjs.org/1.2.0-rc.2/ng/areq?p0=MyController&p1=not%20a%20function%2C%20got%20undefinedました:7861エラー:[AREQ NG] angular.js" なぜ私にはわからないAngularjs NG-BOOKコードは

をコンソール情報は...以下のように ましたこの本のコードは私自身のラップトップで試してみるといつもエラーを報告します。

これは私が実行する正確なコードです。 Controller2.jsため

<!DOCTYPE html> 
<html lang="en" ng-app> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body>  

    <div ng-controller="MyController"> 
    <input ng-model="expr" 
      type="text" 
      placeholder="Enter an expression" /> 
    <h2>{{ parsedExpr }}</h2> 
    </div> 
    </body> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.js"></script> 
<script src="Controller2.js"> 
</html> 

:HTML用 あなたが不足している

function MyController($scope, $parse) { 
    $scope.person = { 
     name: "Ari Lerner" 
    }; 
    $scope.$watch('expr', function(newVal, oldVal, scope) { 
     if (newVal !== oldVal) { 
     // Let's set up our parseFun with the expression 
     var parseFun = $parse(newVal); 
     // Get the value of the parsed expression, set it on the scope for output 
     scope.parsedExpr = parseFun(scope); 
     } 
}); 
}; 
+1

ここで2つのファイルがあります。 1つのHTML、1つのJavaScript。コピーしたときにJavaScriptファイルを実際にHTMLにロード**しましたか?とにかく、この質問は、それが悪いコードに関連していないので、この質問は答えられないようです。他の人が推測することなく再現できない環境の未知の違いに関連しています。 – Claies

+0

アドバイスをいただきありがとうございます。質問を編集してコードをアップロードしました。環境問題かどうかは分かりません。私は前にコンピュータの環境設定を変更していませんでした... – LuanrRui

+0

このコードが動作する場合でも、私はこのように角度を書くことをお勧めしません。 Angular 1.2.xは2012年からのものであり、このような「グローバル」コントローラの削除や空の 'ng-app'に対するサポートの削除などの新しいリリースでは大きな理由があります。旧式の構文を使って古いバージョンからフレームワークを学習することをやめましょう。 – Claies

答えて

0

をいくつかのいくつかのあなたのウォッチ式の});閉じ

function MyController($scope, $parse) { 
     $scope.person = { 
     name: "Ari Lerner" 
    }; 
    $scope.$watch('expr', function(newVal, oldVal, scope) { 
     if (newVal !== oldVal) { 
     var parseFun = $parse(newVal); 
     scope.parsedExpr = parseFun(scope); 
     } 
    }); 
}; 
関連する問題