Angularjs 为什么ng控制器不能与本例中的函数一起工作?
我试图按照一个教程,但这个代码不适合我。有人能解释为什么以及如何解决它吗?我认为这与ng控制器有关,但不确定原因Angularjs 为什么ng控制器不能与本例中的函数一起工作?,angularjs,Angularjs,我试图按照一个教程,但这个代码不适合我。有人能解释为什么以及如何解决它吗?我认为这与ng控制器有关,但不确定原因 AngularJS 2 {{author.name} {{author.title+','+author.company}} 函数MyController($scope){ $scope.author={ “姓名”:“雷·维拉”, “标题”:“工作人员作者”, “公司”:“老板”在这里输入代码“.com” } } 函数定义中缺少右括号 您缺少角度上下文 您的应用程序需要一个模块,
AngularJS 2
{{author.name}
{{author.title+','+author.company}}
函数MyController($scope){
$scope.author={
“姓名”:“雷·维拉”,
“标题”:“工作人员作者”,
“公司”:“老板”在这里输入代码“.com”
}
}
函数定义中缺少右括号 您缺少角度上下文
您的应用程序需要一个模块,因此您需要编写ng app=“myApp”
,并使用该模块注册控制器功能
function MyController($scope) { /* ... */ }
angular.module('myApp, []).controller('MyController', MyController);
这将告诉Angular引导您的(myApp)应用程序并注册该特定控制器。您的代码不适用于Angular 1.3+,因为您正在将控制器定义为全局函数
function MyController($scope) { /* ... */ }
angular.module('myApp, []).controller('MyController', MyController);
来自AngularJS文档:
从1.2迁移到1.3
控制器
由于3f2232b5,$controller将不再在窗口上查找控制器。在窗口中查找控制器的旧行为最初用于示例、演示和玩具应用程序。我们发现允许全局控制器功能会鼓励不良做法,因此我们决定在默认情况下禁用此行为
要迁移,请向模块注册控制器,而不是将其公开为全局模块
改为按如下方式定义控制器:
AngularJS 2
{{author.name}
{{author.title+','+author.company}}
角度模块('myApp',[]);
角度.module('myApp').controller('MyController',function($scope){
$scope.author={
“姓名”:“雷·维拉”,
“标题”:“工作人员作者”,
“公司”:“老板”在这里输入代码“.com”
}
});
这是哪一个教程?应该适用于angular<1.3,但不适用于angular 1.3+,因为您的控制器是globali添加了闭合大括号,但仍然不起作用。你知道为什么吗?你知道如何使用开发控制台来检查错误吗。这对解决这类问题非常有用。例如,是否确实在当前位置找到角度脚本?