2015-04-22 4 views
-1

Всякий раз, когда я пытаюсь включить $ HTTP зависимость в моих JS, я получаю ошибку, связанную с $ инжектором: modulerr.My код выглядит следующим образом:

angularEx.html

<!DOCTYPE html> 
<html ng-app="Fin"> 
    <head> 
    <link rel="stylesheet" type="text/css" href="scripts/bootstrap.min.css" /> 
    <script type="text/javascript" src="scripts/angular.min.js"></script> 
    <script src="bower_components/angular-route/angular-route.js"></script> 
    <script src="bower_components/angular-resource/angular-resource.js"></script> 
    <script type="text/javascript" src="scripts/app.js"></script> 
    </head> 
    <body> 

    <div ng-controller="PhoneController as phone"> 
    {{phone.products.subject}} 
    </div> 
</body> 
    </html> 

app.js

var app=angular.module('Fin',[]); 

app.controller('PhoneController',['$http',function('$http'){ 

    var store=this; 


    $http.get('/dell-streak-7.json').success(function(data){ 
     store.products=data; 
    }); 
}]); 

лощина-полоска-7.json файл

{ 
    "subject": "Front Facing 1.3MP Camera", 

} 

Окно вывода:

enter image description here

enter image description here

ответ

4

Вы де clared аргумент в кавычках, так и должно быть:

['$http',function($http){}] 

вместо:

['$http',function('$http'){ 
3

Ваше определение контроллер синтаксически неправильно:

app.controller('PhoneController', ['$http', function('$http') { 

Пожалуйста, обратите внимание, что у вас есть строка буквального ($http) в качестве параметра функции. Это на самом деле причиной первого сообщения об ошибке, которое говорит "Uncaught SyntaxError: Неожиданное String"

должно быть правильным следующее:

app.controller('PhoneController', ['$http', function($http) { 

Другая ошибка ("$ Инжектор: modulerr") вероятно, является просто следствием ошибки синтаксиса.

Смежные вопросы