微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AngularJS初学者:ng-controller无法正常工作

我只想试着了解AngularJS的基础知识.我尝试编写一个简单的MVC应用程序,但控制器似乎没有工作.该文件可以找到刚找到的有角度的lib,我已经通过排除’ng-controller’进行了测试.
<!DOCTYPE html>
<html ng-app>
<head>
    <script src='js/lib/angular.js'></script>
    <script>
        // controller
        function MyFirstCtrl($scope) {
            // model
            var employees = ['Christopher Grant','Monica Grant','Christopher
            Grant','Jennifer Grant'];

            $scope.ourEmployees = employees;
        }
    </script>
</head>
<body ng-controller='MyFirstCtrl'>
    <!-- view -->
    <h2>Number of employees: {{ourEmployees.length}}</h2>
</body>
</html>

编辑:
错误日志说明如下:

Uncaught SyntaxError: Unexpected token ILLEgal,line 9
Uncaught SyntaxError: Unexpected token {,line 19
Error: [ng:areq] Argument 'MyFirstCtrl' is not a function,got undefined

EDIT2:我把代码更改为:

<!DOCTYPE html>
<html ng-app='MVCExample'>
<head>
    <script src='js/lib/angular.js'></script>
    <script>
        var app = angular.module('MVCExample',[]);

        // controller
        app.controller("MyFirstCtrl",function($scope) {

            // model
            var employees = ['Christopher Grant','Christopher Grant','Jennifer Grant'];

            $scope.ourEmployees = employees;
        });
    </script>
</head>
<body ng-controller='MyFirstCtrl'>
    <!-- view -->
    <h2>Number of employees: {{ourEmployees.length}}</h2>
</body>
</html>

事实证明,我所拥有的’雇员’阵列是非法的,因为我有一个字符串条目分为两行.以上工作.我正在使用的初学者书必须过时,这是不幸的.

如果您正在使用angularjs 1.3版本,那么您无法像上面那样声明全局控制器.

你应该如下初始化.

<div ng-app="appname" ng-controller="MyFirstCtrl">
var app = angular.module('appname',[]);
app.controller('MyFirstCtrl',function(){
   //controller code here
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐