Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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 角度js错误:参数';问题Ctrl';这不是一个函数_Javascript_Jquery_Angularjs - Fatal编程技术网

Javascript 角度js错误:参数';问题Ctrl';这不是一个函数

Javascript 角度js错误:参数';问题Ctrl';这不是一个函数,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我试图在ui加载时调用控制器,但出现以下错误 angular.js:9778 Error: [ng:areq] Argument 'questionsCtrl' is not a function, got string http://errors.angularjs.org/1.2.16/ng/areq?p0=questionsCtrl&p1=not%20aNaNunction%2C%20got%string at http://127.0.0.1:60668/js/angul

我试图在ui加载时调用控制器,但出现以下错误

angular.js:9778 Error: [ng:areq] Argument 'questionsCtrl' is not a function, got string
http://errors.angularjs.org/1.2.16/ng/areq?p0=questionsCtrl&p1=not%20aNaNunction%2C%20got%string
    at http://127.0.0.1:60668/js/angular.js:78:12
    at assertArg (http://127.0.0.1:60668/js/angular.js:1443:11)
    at assertArgFn (http://127.0.0.1:60668/js/angular.js:1453:3)
    at http://127.0.0.1:60668/js/angular.js:7131:9
    at http://127.0.0.1:60668/js/angular-ui-router.js:2797:28
    at nodeLinkFn (http://127.0.0.1:60668/js/angular.js:6579:13)
    at compositeLinkFn (http://127.0.0.1:60668/js/angular.js:5986:15)
    at publicLinkFn (http://127.0.0.1:60668/js/angular.js:5891:30)
    at updateView (http://127.0.0.1:60668/js/angular-ui-router.js:2733:23)
    at http://127.0.0.1:60668/js/angular-ui-router.js:2697:11
我的代码是:

app.js

 (function () {
    "use strict";
    var app = angular.module("autoQuote",["ui.router"]);

    app.config(["$stateProvider","$urlRouterProvider", function($stateProvider,$urlRouterProvider){
        $urlRouterProvider.otherwise("/");

        $stateProvider
            .state("step1", {
              url : "/",
              templateUrl : "step1.html",
              controller: "questionsCtrl"
            })       
            .state("step2", {
              url : "/step2",
              templateUrl : "step2.html",
              controller: "questionsCtrl"
            })
    }]
    );
}());
(function () {
    "use strict";

    angular
    .module("autoQuote")
    .controller("questionsCtrl",["questionsCtrl"]);

    function questionsCtrl() {
        console.log('here in questionsCtrl');
    }

}());
问题Ctrl.js

 (function () {
    "use strict";
    var app = angular.module("autoQuote",["ui.router"]);

    app.config(["$stateProvider","$urlRouterProvider", function($stateProvider,$urlRouterProvider){
        $urlRouterProvider.otherwise("/");

        $stateProvider
            .state("step1", {
              url : "/",
              templateUrl : "step1.html",
              controller: "questionsCtrl"
            })       
            .state("step2", {
              url : "/step2",
              templateUrl : "step2.html",
              controller: "questionsCtrl"
            })
    }]
    );
}());
(function () {
    "use strict";

    angular
    .module("autoQuote")
    .controller("questionsCtrl",["questionsCtrl"]);

    function questionsCtrl() {
        console.log('here in questionsCtrl');
    }

}());

定义控制器时,需要参考函数

.controller("questionsCtrl", questionsCtrl);
                             ^^^^^^^^^^^^^     : Function reference, not a string
controller()
的第一个参数是控制器的名称,第二个参数是映射


我建议使用以下最小安全语法

.controller('questionsCtrl', ['$scope', function ($scope) {

}]);
参见控制器功能

.controller('questionsCtrl', ['$scope', questionsCtrl]);

function questionsCtrl($scope) {
    console.log('In questionsCtrl');
}

定义控制器时,需要参考函数

.controller("questionsCtrl", questionsCtrl);
                             ^^^^^^^^^^^^^     : Function reference, not a string
controller()
的第一个参数是控制器的名称,第二个参数是映射


我建议使用以下最小安全语法

.controller('questionsCtrl', ['$scope', function ($scope) {

}]);
参见控制器功能

.controller('questionsCtrl', ['$scope', questionsCtrl]);

function questionsCtrl($scope) {
    console.log('In questionsCtrl');
}

您在HTML页面中正确导入了
questionsCtrl.js
吗?是的,js文件包含正确。您在HTML页面中正确导入了
questionsCtrl.js
吗?是的,js文件包含正确。