2016-09-15 3 views
0

У меня есть очень простая страница с контроллером, я думаю, что должно быть довольно очевидно, что я пытаюсь сделать из кода, но он не работает.Как использовать контроллеры в AngularJS?

Вот мой HTML

<!DOCTYPE html> 
<html ng-app> 

    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
    <link rel="stylesheet" href="style.css" /> 
    <script src="script.js"></script> 
    </head> 

    <body> 
    <h1>{{ 800/40 }} </h1> 
    <h1 ng-controller="MainController">{{message}}</h1> 
    </body> 
</html> 

следующее в script.js

var MainController = function($scope) { 
    $scope.message = "Hello"; 
}); 

800/40 отображает 20, так что предполагает Угловое сценарий и нг-приложение хорошо, но значение сообщения не задано. В примере ng-controller находится в теге h1, но я также попробовал его в div, который обтекает h1.

Любые предложения?

Благодаря

+0

Вы должны [читать документацию] (https://docs.angularjs.org/tutorial/step_02) вместо того, чтобы просто что-то как-то определения. – str

ответ

2

Вам необходимо создать угловой модуль

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

 
myapp.controller('MainController', function($scope){ 
 
    $scope.message= "Hello"; 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<link rel="stylesheet" href="style.css" /> 
 
<div ng-app="myApp"> 
 
    <h1 ng-controller="MainController">{{message}}</h1> 
 
</div>

1

Определение угловой контроллер как

app.controller('MainController', function($scope){ 
$scope.message = "Hello"; 
}); 
+0

Почему это было downvoted –

+0

Возможно, потому что 'app' не определено. – str

+0

Откуда появляется ваше приложение? – Weedoze

1
<div ng-app="myApp" ng-controller="MainController"> 
    <h1>{{ 800/40 }} </h1> 
    <h1 >{{message}}</h1> 
</div> 

<script> 
var app = angular.module('myApp', []); 
app.controller('MainController', function($scope) { 
    $scope.message = "John"; 
    }); 
</script> 
1

сделать что-то вроде этого,

Html кода

<html> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script> 
<div ng-app="myApp" ng-controller="MainController"> 
    <h1>{{ 800/40 }} </h1> 
    <h1 >{{message}}</h1> 
</div> 
</html> 

добавить это в файл сценарий

var app = angular.module('myApp', []); 
app.controller('MainController', function($scope) { 
    $scope.message = "John"; 
    }); 
</script> 
+0

Это не будет работать, поскольку 'module ('ng-app')' является getter. – str

+0

Пожалуйста, попробуйте с новым –

+0

сейчас его работы –

Смежные вопросы