Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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 未捕获错误:[ng:areq]参数';fn';不是函数,未定义_Javascript_Angularjs_Typescript - Fatal编程技术网

Javascript 未捕获错误:[ng:areq]参数';fn';不是函数,未定义

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

嗨,我正在尝试用Typescript构建我的第一个Angular应用程序,但我似乎无法正确绑定控制器

这是我的打字脚本代码:

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