@Oriaraniar

Не могу подключить контроллер Angular. В чём я не прав?

Добрый день. По урокам пытаюсь научиться использовать ангулар.
Проект на ASP.NET MVC
Создал простейшую страницу

<!DOCTYPE html>
<html ng-app="appName">

<head>

    <script src="~/main.js"></script>
</head>

<body ng-controller="mainController">
    <h1>Angular Playground</h1>
    {{message}}
    <br />Total Length: {{message.length}}
</body>

</html>


Создал js файл
function mainController($scope) {
        $scope.message = "Hello, Michael";
    }

    angular
        .module("appName", [])
        .controller("mainController", mainController);


В результате получаю ошибку
Error: [ng:areq] Argument 'mainController' is not a function, got undefined

Ангулар версии v1.4.8.
Студия 2013.
Браузер Хром.

В чём я не прав?
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
@Oriaraniar Автор вопроса
Если создать абсолютно пустую страницу с таким кодом - работает.
Если же запускать через студию - то не работает.

<!DOCTYPE html>
<html ng-app="appName">

<head>
</head>

<body ng-controller="mainController">
<h1>Angular Playground</h1>
{{message}}
<br/>Total Length: {{message.length}}
</body>

<script>
    function mainController($scope) {
        $scope.message = "Hello, Michael";
    }

    angular
        .module("appName", [])
        .controller("mainController", mainController);
</script> 
</html>


Подозреваю, что какие-то настройки студии не правильно выставлены, но не могу понять, что именно.

UPD
проблема была в том, что в вышестоящем лайоуте была некорректное объявление ангулара
<html xmlns:ng="http://angularjs.org" ng-app>
При изменении данной строчки на <html xmlns:ng="http://angularjs.org" >всё заработало
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
Что-то делаете не так.
DEMO.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы