60分钟内的角度 - 这段代码有什么问题?

时间:2015-06-14 11:10:50

标签: javascript angularjs

我已经开始学习Angular并且正在跟随Angular in 60 minutes作为第一步。在第48页,有一个示例代码,如下所示,它是一个simple controller,用于显示页面中customers属性的内容。

<!DOCTYPE html>
<html ng-app="">
<head>
	<title></title>
</head>
<body>
	
	<div class="container" ng-controller="SimpleController">
		<h3>Adding a simple controller</h3>
		<ul>
			<li ng-repeat="cust in customers">
				{{cust.name}} - {{cust.city}}
			</li>
		</ul>
	</div>

	<script>
		function SimpleController($scope) {
			$scope.customers = [
				{name: 'John Doe', city: 'New York'},
				{name: 'Jane Doe', city: 'Miami'},
				{name: 'Moan Doe', city: 'Montreal'}
			];
		}
	</script>
	<script src="/usr/local/angular-1.3.16/angular.js"></script>
</body>
</html>

预期输出为:

  

添加一个简单的控制器

     
      
  • John Doe - 纽约
  •   
  • Jane Doe - 迈阿密
  •   
  • Moan Doe - 蒙特利尔
  •   

但我看不到项目符号项目。我已经拔毛了很长一段时间了。我以为在去秃头之前我会问社区。有人能告诉我这段代码有什么问题吗?

2 个答案:

答案 0 :(得分:4)

使用版本1.3.16,您不能再仅仅声明全局控制器功能。 相反,定义一个模块和一个控制器:

_sum

在您的html中,使用正确的模块名称添加angular.module('app', []).controller('SimpleController', function ($scope) { $scope.customers = [ {name: 'John Doe', city: 'New York'}, {name: 'Jane Doe', city: 'Miami'}, {name: 'Moan Doe', city: 'Montreal'} ]; });

ng-app

答案 1 :(得分:0)

修复代码的两个项目。

  1. 我正在摆弄身边的标签顺序很重要。对<script>的{​​{1}}标记引用应首先出现在包含控制器方法的angular.js标记之前。

  2. 正如@ user3906922建议的那样,全局控制器功能在角度1.3.16中没有帮助。我定义了一个模块和控制器,它起作用了。