Сложность использования контроллера Angular из старого урока

Я просматриваю основную книгу по Angular, и она использует контроллер для настройки поля. Тем не менее, я не получаю ожидаемый результат. Поиск здесь и в другом месте, похоже, что я вызываю это правильно, но что-то не работает. Что-то явно не так? Что-нибудь еще попробовать? Подробности ниже. Благодарю.

HTML документа:

<html lang="en" ng-app ng-controller="AppCtrl">
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="css/bootstrap.min.css">
  <title></title>
  <script src="js/angular.min.js"></script>
  <script type="text/javascript" src="js/controller.js"></script>
</head>
<body>
  <h1>Hello, {{name || 'World'}}</h1>
  <input type="text" ng-model="name">
</body>

controller.js:

function AppCtrl($scope) {
 $scope.name = "World";

(функция закрывающей скобки теряется при форматировании кода)

Ожидаемый вывод: "Hello, World", но я получаю "Hello, {{name || 'World'}}"

1 ответ

Решение

Вам не хватает ng-приложения и модуля в контроллере.

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

DEMO

var app = angular.module('myApp', []);
app.controller('AppCtrl', function($scope, $http) {
 $scope.name = "World";
});
<!DOCTYPE html>
<html>
<head> 
</head>

<body>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
  <div ng-app="myApp" ng-controller="AppCtrl">
  <h1>Hello, {{name || 'World'}}</h1>
  <input type="text" ng-model="name">
  </div>
</body>

</html>

Другие вопросы по тегам