Javascript 未捕获错误:[ng:areq]参数';fn';不是函数,未定义
嗨,我正在尝试用Typescript构建我的第一个Angular应用程序,但我似乎无法正确绑定控制器 这是我的打字脚本代码:Javascript 未捕获错误:[ng:areq]参数';fn';不是函数,未定义,javascript,angularjs,typescript,Javascript,Angularjs,Typescript,嗨,我正在尝试用Typescript构建我的第一个Angular应用程序,但我似乎无法正确绑定控制器 这是我的打字脚本代码: module App { var modules: string[] = ["App.Person"]; angular.module('App', modules) .run([]); } module App.Person { angular.module('App.Person', []); } module App.Pe
module App {
var modules: string[] = ["App.Person"];
angular.module('App', modules)
.run([]);
}
module App.Person {
angular.module('App.Person', []);
}
module App.Person {
angular.module("App.Person")
.controller('PersonCtrl', PersonCtrl);
interface IPersonScope extends ng.IScope {
fullName: string;
}
class PersonCtrl{
public $scope: IPersonScope;
static $inject = ['$scope'];
constructor($scope: IPersonScope) {
this.$scope = $scope;
this.init();
}
init() : void {
this.$scope.fullName = 'Justin S.';
}
}
}
我的看法是:
<article ng-app="App">
<section ng-controller="PersonCtrl">
<p ng-bind="fullName"></p>
</section>
</article>
如何解决此问题?很可能您没有在布局页面中包含控制器js文件(例如:
)。如果可以,请仔细检查html中是否有多个ng应用程序。这在MVC应用程序中帮助了我。我使用-tag引用了必要的文件,所以VisualStudio没有显示任何错误。但是,我忘了在BundleConfig中添加.js文件。谢谢根据我的经验,当angular需要一个函数而您没有提供函数时,就会抛出错误。您的“.run([])”(第4行)会导致这种情况吗?我认为@daveoncode的答案非常接近。
Uncaught Error: [ng:areq] Argument 'fn' is not a function, got undefined