Возникли проблемы при запуске с AngularJS

0

Я не хочу даже спрашивать об этом, потому что он чувствует себя настолько исправно, но я все время пробирался по учебникам и документам без каких-либо результатов.

Я пытаюсь встать и запустить с помощью AngularJS из интереса и, похоже, не может заставить чертову работать для меня. У меня есть локальные копии jquery и угловые, которые, как мне известно, правильно указаны, потому что я вижу, что мой jquery бит в index.html работает правильно.

Прошу простить всех неверных в моем объяснении: я пытаюсь создать простое ng-приложение с одним контроллером, чтобы захватить и вывести значение поля ввода имени пользователя. У меня такое впечатление, что у меня есть * работа. Здесь код:

index.html:

<!DOCTYPE html>
<html ng-app="indexApp">
<head>
  <script type="text/javascript" src="js/angular.min.js"></script>
  <script type="text/javascript" src ="js/jquery-1.11.3.min.js"></script>
  <script type="text/javascript" src="js/jqscripts.js"></script>
  <script type="text/javascript" src="js/indexApp.js"></script>
</head>
<body>
<div ng-controller="HelloController">
  <h1>Hello Angular</h1>
  <p>your name: <input type="text" ng-model="username" name="username"></p>

  <p>{{ show() }}</p>
 </div> 

</body>
</html>

indexApp.js

var indexApp = angular.module("myapp", []);

indexApp.controller('HelloController', ['$scope', 
  function($scope) {
    $scope.username = 'Sam';
    $scope.show = function() {return $scope.username;};
});

У меня такое ощущение, что это что-то очевидное, я скучаю, но мне бы хотелось хотя бы запустить его и запустить!

Теги:

2 ответа

2
Лучший ответ
<html ng-app="indexApp">

Это твоя проблема. Вы задаете имя переменной javascript, которая отличается от имени модуля, который вы фактически зарегистрировали с помощью angular.module('name', dependencies).

При указании ng-app в вашей директиве HTML вам нужно использовать имя, которое вы указали в качестве первого параметра. В этом случае myapp. Ответ выше будет работать, но вы можете так же легко изменить свой HTML-код

<html ng-app="myapp">

и все будет работать должным образом.

  • 0
    Выберите это как лучший ответ из-за объяснения. Огромное спасибо! Определенно что-то, что должно было ударить меня прямо в глаза ...
  • 0
    @SamJohnson Нет проблем :) У Angular крутая кривая обучения, но оно того стоит!
3

Вот ты где:

var indexApp = angular.module("indexApp", []);

Надеюсь, это поможет.

  • 0
    Да, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню