这更多是一个概念上的问题。我有以下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

07-24 09:43
查看更多