2016-11-15 2 views
0

Написание однострочного углового приложения, но я получаю ошибку инжектора (неизвестный провайдер). Должен ли я делать больше, чтобы понять углы моего контроллера?

HTML:

<div ng-app="AvailablePets" ng-controller="homeController"> 
    {{pets}} 
</div> 

JS:

var app = angular.module('AvailablePets', []) 
    .controller('homeController', function($scope) { 
    console.log('App Home Controller'); 
    // Controller Logic 
    $scope.pet = "Dog"; 
}); 

ответ

0

Использование Inline Array Annotation вводить зависимость в угловом

Изменения в этой

var app = angular.module('AvailablePets', []) 
     .controller('homeController',['$scope', function($scope) { 
     console.log('App Home Controller'); 
     // Controller Logic 
     $scope.pet = "Dog"; 
    }]); 
+0

Это была моя проблема - теперь отлично работает. Благодаря! –

1

Изменение так,

var app = angular.module('AvailablePets', []) 
    app.controller('homeController', function($scope) { 
     console.log('App Home Controller'); 
     // Controller Logic 
     $scope.pet = "Dog"; 
    }); 

Также выражение должно быть {{pet}} не {{pets}}

<body ng-app="AvailablePets" ng-controller="homeController"> 
    {{pet}} 
</body> 

DEMO

var app = angular.module('AvailablePets', []) 
 
    app.controller('homeController', function($scope) { 
 
     console.log('App Home Controller'); 
 
     // Controller Logic 
 
     $scope.pet = "Dog"; 
 
    });
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <script data-require="[email protected]" data-semver="1.4.7" src="https://code.angularjs.org/1.4.7/angular.js"></script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script src="script.js"></script> 
 
</head> 
 

 
<body ng-app="AvailablePets" ng-controller="homeController"> 
 
    {{pet}} 
 
</body> 
 

 
</html>

+0

А, да, домашние животные/домашние животные были глупыми опечатками, но не были суть проблемы, так что это хорошо. Это работает в plunker, но не встроено на HTML-страницу. Ответ пользователя2181397 Я считаю правильным. –

+0

@BrianKelleher Он также должен работать в inline, проверьте, добавил ли я к ответу – Sajeetharan

0

Иногда забывать обращаться со своими js-файлами, используя атрибут src в теге, также приводит к такой ошибке.

В вашем случае вы можете либо удалить приложение var, либо определить свой модуль напрямую, либо определить свой контроллер, как этот app.controller. Оба они отлично работают.