看看我的angular.js代码,它不起作用

时间:2015-07-17 15:33:31

标签: angularjs

我正在从egghead.io教程中复制我的代码,但它无法正常工作。角度表达式未正确发布到视图(它使用{{}}发布而不是评估)。如果我从ng-controller中移除<body>,从ng-app移除<html>中的值“app”,那么我就无法找到解决问题的位置。我已经尝试在html页面(标题,页面底部等)上移动角度模块/控制器的脚本,但没有运气。

作为一个侧面问题,我想知道Stackoverflow是否适合发布此帖子。据说你不应该使用'code-review'标签,而“其他工作代码”的评论属于codereview.stack。我的代码正在工作......

<!DOCTYPE html>
<html ng-app="app">

<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js">
</script>
<script>
angular.module("app", [])
.controller(FirstCtrl, function FirstCtrl()[
    var first = this;
    first.greeting = "First";
])
</script>
</head>

<body ng-controller="FirstCtrl as first">
<input type="text" ng-model="first.greeting"/>
<div ng-class="first.greeting">
    {{first.greeting}} {{World}}
</div>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

您的复制在某处出错,控制器名称应为字符串

变化:

.controller(FirstCtrl...

.controller('FirstCtrl'...

您应该已经看到控制台中出现的错误,以便为您提供有关此

的线索

答案 1 :(得分:1)

<!DOCTYPE html>
<html ng-app="app">

<head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js">
    </script>
    <script>
        angular.module("app", [])
                .controller("FirstCtrl", [ function () {
                    var first = this;
                    first.greeting = "First";
                }
        ])
    </script>
</head>

<body ng-controller="FirstCtrl as first">
<input type="text" ng-model="first.greeting"/>
<div ng-class="first.greeting">
    {{first.greeting}} {{World}}
</div>
</body>
</html>

我对您的代码稍作修改。

控制器名称需要双倍qoutes围绕它看&#34; FirstCtrl&#34;还有一个缺少方括号和右括号。复制并通过上面的代码它应该可以工作。

它对我有用。 :)