简单的AngularJS - 控制器值不绑定

时间:2014-09-09 23:04:32

标签: angularjs controller

我对前端开发完全不熟悉所以请原谅noob问题,但有人可以帮我弄清楚这个非常简单的AngularJS示例有什么问题吗?输出只是“{{tag.name}} {{tag.snippet}}”。 我必须做一些非常基本的错误,但是从我在线阅读的所有例子中我都无法弄清楚它是什么......我正在指定ng-app,ng-controller和导入js文件...还有什么在那里?

这是我的index.html:

<!DOCTYPE html>
<html lang="en">

<head ng-app="reportingApp">
    <script src="js/controllers.js"></script>   
    <script src="lib/angular/angular.min.js"></script>
</head>

<body ng-controller="TagListController">
    <ul>
        <li ng-repeat="tag in tags">
             {{tag.name}} {{tag.snippet}}
        </li>
    </ul>
</body>
</html> 

以下controllers.js文件:

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

reportingApp.controller('TagListController', function ($scope) {
  $scope.tags = [
    {'name': 'Nexus S',
     'snippet': 'Fast just got faster with Nexus S.'},
    {'name': 'Motorola XOOM™ with Wi-Fi',
     'snippet': 'The Next, Next Generation tablet.'},
    {'name': 'MOTOROLA XOOM™',
     'snippet': 'The Next, Next Generation tablet.'}
  ];
});

2 个答案:

答案 0 :(得分:0)

两个问题:

  1. 将您的controllers.js文件放在 angular.js脚本文件之后。

  2. 尝试将ng-app属性放在html元素或其他元素上 head以外的元素。 head标记在偶数之前关闭 到达body标记。

  3. 例如:
    http://plnkr.co/edit/JPWfLLz7T9BHemrJuH3z?p=preview

答案 1 :(得分:0)

我认为你已经在HEAD中获得了ng-app而不是你想要它的身体。

 <body ng-app="reportingApp" ng-controller="TagListController">

您不需要或想要头标记中的ng-app。