Angular js适用于jsfiddle但不适用于我的机器Strange ERROR

时间:2015-01-27 13:15:59

标签: javascript angularjs angularjs-ng-repeat

我是角色的初学者

所以这里是小提琴 http://jsfiddle.net/prantikv/knc6vrd9/1/

我有一个简单的应用程序,你可以看到我只是尝试基础知识。

这个例子在jsfiddle上运行正常,但是当我在我的机器上运行时,我得到一个很大的错误,就像这样

Error: [ng:areq] Argument 'SimpleCont' is not a function, got undefined

并且 ng-repeat 不显示任何输出,文本输入也不起作用 我也通过本地wamp服务器运行页面并获得相同的结果

1 个答案:

答案 0 :(得分:1)

Ommit创建一个函数,因为angularjs是模块化的,并为您提供了创建控制器的机制,可以在应用程序中使用。 所以在你的代码中,而不是:

function SimpleCont($scope){
    $scope.nameList=[
                        {firstname:'john'},
                        {firstname:'jane'}
                    ];
}

在其中创建模块和控制器。首先使用angular的模块方法,它取模块的第一个参数名称(后来包含在ng-app中)和第二个参数依赖列表,在这种情况下是空的。

angular.module('myApp', []).

然后在模块上调用控制器功能。 模块方法总是返回自己,因此您可以使用点.稍后添加其他控制器。

 controller('SimpleCont', function(){
    this.nameList=[
                                {firstname:'john'},
                                {firstname:'jane'}
                            ];
    });

这是代码而不是功能,此代码设置模块并为其分配控制器。 在您的应用程序中使用模块并在其中创建控制器,正确设置ng-app。 而不是:

<div ng-app>

使用:

<div ng-app="myApp">

通常很高兴知道如何在angularjs中创建控制器和模块以进行开始,因为稍后您可以学习其他好奇的东西,例如服务工厂,并且还可以了解什么是 $ http 服务以及如何使用它来进行ajax调用。 由于 grunt 业力自耕农,自动化工作也很好。

Here是一个很好的教程。

Here是一个可以用来处理角度的工具。