Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   ng-controller (https://javascript.ru/forum/angular/59925-ng-controller.html)

s24344 03.12.2015 13:31

ng-controller
 
Подскажите, пожалуйста, почему не работает ?

<!doctype html>
<html lang="en" ng-app>
<head>
	<meta charset="utf-8">
	<title>My HTML File</title>
	
	<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css">
	<link rel="stylesheet" href="css/app.css">
	
	<script src="bower_components/angular/angular.js"></script>
	<script>
		var DemoCtrl = function(){
			alert("Hello World!");
		}
	</script>
</head>
<body>
	<div ng-controller="DemoCtrl">
		<p>1 + 8 = {{1 + 8}}</p>
	</div>
</body>
</html>

tfn2k 04.12.2015 10:59

Привет.
Не совсем понятно что хочешь сделать - чтоб Angular на строке 19 правильно посчитал значение, или чтоб где-то выводилось "Hello World!"
Сам только начал изучать, посему могу тоже ошибаться, но:
1.
<html lang="en" ng-app>

Тебе надо назвать как-то твой App, что потом к нему можно было обращаться и "прилепить" директивы/контролеры например:
<html lang="en" ng-app='myApp'>

2. var DemoCtrl = function () {тут код твоей ф-ции}
Здесь ты просто создал функцию JavaScript которая пока еще не имеет никакого отношения к Angular. Но на строке 18, ты пишешь
<div ng-controller="DemoCtrl">
. При загрузке твоей страницы Angular находит эту директиву и пытается найти код где описан этот контролер, но его у тебя нету (опять же твоя функция не имеет никакого отношения к Angular). Соответственно тебе нужно описать этот контролер. Самый простой способ:
angular.module('myApp', [])
            .controller('DemoCtrl', function () {
        //тут твой код
        })

Но как ты понимаешь этот контролер не имеет никакого отношения к твоей функции на строке 12.

s24344 05.12.2015 10:21

Нет, ты не ошибаешься.
Спасибо.


Часовой пояс GMT +3, время: 13:47.