gpt4 book ai didi

javascript - Angularjs Controller 不工作,抛出错误(新手)

转载 作者:行者123 更新时间:2023-11-30 12:08:57 26 4
gpt4 key购买 nike

我正在使用 angular-seed 项目。我正在尝试从 mysql 数据库中检索数据。我需要知道如何为每个 View 定义不同的 Controller 。例如,我有这样的结构:

js
|_modules
|_companies
|_controller.js
|_data.js
|_app.js
|_base.js

我已将此路由添加到 app.js

.state('app.companies', {
url: '/companies',
title: 'Companies',
templateUrl: helper.basepath('companies.html'),
controller: 'companiesCtrl' //THIS THROWS THE ERROR BELOW
})

companies.html 已将脚本添加到页面底部

<script src="app/js/modules/companies/data.js"></script>
<script src="app/js/modules/companies/controller.js"></script>

这是controller.js的代码(也测试了注释部分)

(function() {
'use strict';

angular
.module('appname')
.controller('companiesCtrl', companiesCtrl);

companiesCtrl.$inject = ['$scope','companiesData','$log'];
function companiesCtrl($scope, companiesData, $log) {
console.log('asd'); //NEVER REACH THIS LOG
};
});

/*var app = angular
.module('appname')
.controller('companiesCtrl', ['$scope','companiesData','$log', function($scope, companiesData, $log){
console.log('asd'); //NEVER REACH THIS LOG
$scope.companies = {};
Data.get('companies').then(function(data){
$scope.companies = data.data;
console.log('($scope.companies)');
});
}]);
*/

但我不断得到

Error: [ng:areq] Argument 'companiesCtrl' is not a function, got undefined

如果我在我的 View 上编写脚本 ng-controller="companiesCtrl" 也是如此。

最佳答案

将您的功能更改为:

(function() {    
'use strict';

angular
.module('appname')
.controller('companiesCtrl', companiesCtrl);

companiesCtrl.$inject = ['$scope','companiesData','$log'];
function companiesCtrl($scope, companiesData, $log) {
console.log('asd'); //NEVER REACH THIS LOG
};
})();// execute this function then it will work

参见 this example如果你删除 () breaket 那么它会给你错误。

如果可能,那么创建这样的 Controller :

angular.module('appname')
.controller('companiesCtrl', ['$scope', function($scope) {
console.log('asd'); //NEVER REACH THIS LOG
}]);

关于javascript - Angularjs Controller 不工作,抛出错误(新手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34389260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com