Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS ng控制器不工作_Javascript_Html_Angularjs_Angularjs Controller - Fatal编程技术网

Javascript AngularJS ng控制器不工作

Javascript AngularJS ng控制器不工作,javascript,html,angularjs,angularjs-controller,Javascript,Html,Angularjs,Angularjs Controller,我刚刚开始学习AngularJS。我试图练习他们在教程中提到的例子。每件事都很好,但当我谈到“AngularJS控制器”时,它并没有正常工作。我已经把我的代码分岔到了这里。 我的脚本如下所示: function personController($scope) { $scope.firstName= "John"; $scope.lastName= "Doe"; } angular.module("app", []).controller("personController",

我刚刚开始学习AngularJS。我试图练习他们在教程中提到的例子。每件事都很好,但当我谈到“AngularJS控制器”时,它并没有正常工作。我已经把我的代码分岔到了这里。 我的脚本如下所示:

function personController($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
}
angular.module("app", []).controller("personController", function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

请尝试帮助我,并向我推荐一个好的教程(或任何免费的pdf文件)。

您需要创建一个应用程序模块,然后向其中添加一个控制器。在角度上,这都是关于依赖性的。其次,你需要一个应用程序名。 基本教程位于其主页上:
我从它开始,它对我很有效。只需从步骤1开始执行所有步骤。

我刚刚修改了你的js小提琴。请检查一下电话号码

您的代码没有问题,除了JS FIDLE设置从onLoadno wrap-in head


这是一种新的方法。我们不能再使用没有模块的控制器了。看一看。只需添加一个模块并附加控制器,您就不会有问题。

这是您的

对于角度控制器,最好的做法是控制器定义必须如下所示:

function personController($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
}
angular.module("app", []).controller("personController", function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});
毫无疑问,学习角度基本知识的最佳教程是一本


希望这有帮助。

这是“角度控制器不工作”的常见搜索结果,因此我认为添加解决方案将有助于解决我的“控制器不工作”问题

我的基本路由使用
$routeProvider
指向控制器文件和模板URL,如下所示:

$routeProvider.when('/', {
    templateUrl: 'partials/home.html',
    controller: 'homePage'
});
我有几个其他的路线,所有的控制器都工作,但由于某种原因,我的第一条路线不工作。事实证明,我的部分代码中有一个小的逻辑错误,这阻止了我的任何控制器代码的运行


这是一个愚蠢的小错误,但我却措手不及,因为在我的部分中,逻辑问题阻止了任何控制器代码的运行。这比我想承认的要长得多,因为即使存在控制台错误,问题也不在我的“JavaScript”中。紧密耦合前端代码的乐趣,阿米?

如果您尝试将ngApp嵌套到另一个ngApp中,则可能会遇到同样的问题

文件说:


AngularJS应用程序不能相互嵌套。

您必须将函数作为模块内的参数输入

var app = angular.module('app',[]);
app.controller('personController',function($scope){
  $scope.firstName = 'John';
  $scope.lastName = 'Smith';
});

通过在任何html标记中添加
np-app=“myApp”
,如
,我的代码工作得很好。

他们的教程非常简单,您可以通过小步学习。大约需要3个小时。然后你必须搜索更高级的教程并开始阅读文档:)Angular非常高级。嗨,Beri,谢谢你的时间,我收到了我在上面的评论中提到的错误,请查找它并帮助我管理你的代码工作良好,只需将小提琴中的选项从onload更改为“no wrap-in”这是更改后的选项是的,它在小提琴中很好,但在我的本地机器中不好。我得到以下错误:错误:[ng:areq]参数“personController”不是函数,未定义谢谢这个问题,我在学习另一个教程时遇到了同样的问题。我想知道是AngularJS的新版本需要另一种语法吗?当我在本地机器上尝试时,我得到了以下错误。错误:[ng:areq]参数“personController”不是函数,得到UnfinedHey@UiUx,请发布您的本地代码,包括html和js,以便我能更好地帮助您。谢谢。顺便说一句,在JS fiddle的新设计中,您需要在javascript区域中(JavaSctipt+gear)按钮下的下拉菜单中设置此选项。是的,当我将函数更改为angular.module代码时,它工作正常。但是这两个函数之间的区别是什么呢?基本上,我使用的语法将允许您在将来向控制器传递更多参数,例如
$http
,以及许多其他非常有用的参数。看起来您是对的,但您能为此提供任何资源吗。您提供的链接没有提到任何书面内容。我在调试为什么它在几周前(1.2.x)工作正常而现在(1.3.x)不工作时拔出了头发;-)谢谢你,伙计。你的回答+Kutyel解决了我的问题