这更多是一个概念上的问题。我有以下HTML页面:
index.html
<!doctype html>
<html ng-app="myApp">
<head>
<title>Angular Page</title>
<script src="angular.min.js"></script>
<script src="app.js"></script>
</head>
<body>
<div ng-controller="myController">
{{ greeting }}
</div>
</body>
</html>
所有文件都位于目录的根目录下,我还有以下JS文件:
app.js
var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
$scope.greeting = "Hello";
}
当它运行时,我当然会在HTML页面上收到问候语“ Hello”。
但是,当我尝试将对象(用于将来的ng-repeat元素)附加到同一控制器时:
var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
$scope.greeting = "Hello";
$scope.users = [
{
"name": "Michael",
"industry": "Music"
},
{
"name": "Michael",
"industry": "Boxing"
},
{
"name": "Michael",
"industry": "Basketball"
}
];
}
Angular绑定已断开,我收到了{{name}}表达式,而不是问候语“ Hello”。 (这可以在“用户”对象分配中带有或不带有尾部分号。)
关于我的对象分配,是否有什么导致我的Angular代码中断?我不确定如何解释发生了什么。
最佳答案
@dfsq在某处帮助他人,因此他无法正确回答此问题而获得好评。
问题是在将数组对象插入我的Angular'myController'中后,页面上的表达式的双向绑定被打破了。
我从服务器上的命令行(SSH)使用nano来编辑文件,无法轻易看到数组中的键值对之一
("key": "value")
用逗号代替冒号
("key","value)
因此它引发了以下错误:
Uncaught SyntaxError: Unexpected token ,
问题是,我本可以使用浏览器上的开发人员工具来检查控制台日志。 @dfsq提出了此建议,查看控制台日志后,很容易看到抛出的错误以及正在抛出错误的行。
再次感谢@dfsq