2015-08-12 4 views
0

Так я после очень простой AngularJS учебник, нашел hereAngularJS модель не загружая данные в поле зрения

я получил до 10 шага, но ничего не отображается на мой взгляд. Что дает?

Вот содержимое index.html:

<html> 
    <head> 
    <title>My Angular App!</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script> 
    <script src="app.js"></script> 
    </head> 
    <body ng-app="flapperNews" ng-controller="MainCtrl"> 
    <div ng-repeat="post in posts"> 
     {{post.title}} - upvotes: {{post.upvotes}} 
    </div> 
    </body> 
</html> 

Вот замечания app.js:

angular.module('flapperNews', []) 
.controller('MainCtrl', [ 
'$scope', 
function($scope){ 
    $scope.test = 'Hello world!'; 
}]); 

$scope.posts = [ 
    {title: 'post 1', upvotes: 5}, 
    {title: 'post 2', upvotes: 2}, 
    {title: 'post 3', upvotes: 15}, 
    {title: 'post 4', upvotes: 9}, 
    {title: 'post 5', upvotes: 4} 
]; 

ответ

3

проблема является, что вы пытаетесь объявить $scope.posts вне какой-либо угловой контекст, а именно контроллер MainCtrl.

HTML

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8" /> 
    <title>My Angular App!</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script> 
    <script src="app.js"></script> 
    </head> 

    <body ng-app="flapperNews" ng-controller="MainCtrl"> 
    <div ng-repeat="post in posts"> 
     {{post.title}} - upvotes: {{post.upvotes}} 
    </div> 
    </body> 

</html> 

JS

angular.module('flapperNews', []) 
    .controller('MainCtrl', [ 
    '$scope', 
    function($scope) { 
     $scope.test = 'Hello world!'; 

     // We are inside a controller here: 
     $scope.posts = [{ 
     title: 'post 1', 
     upvotes: 5 
     }, { 
     title: 'post 2', 
     upvotes: 2 
     }, { 
     title: 'post 3', 
     upvotes: 15 
     }, { 
     title: 'post 4', 
     upvotes: 9 
     }, { 
     title: 'post 5', 
     upvotes: 4 
     }]; 
    } 
    ]); 

http://plnkr.co/edit/ybJgc3?p=preview

+0

Черт, я думал, что она существует в глобальном контексте. Это сработало, и я соглашусь через семь минут. – FluffyKittens

+0

Угловая на самом деле пытается помешать вам создавать что-либо в глобальном контексте. Глобальное пространство имен должно быть чистым, и все, что вам нужно для доступа к другим компонентам, должно быть введено. – ajliptak

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