gpt4 book ai didi

javascript - AngularJS - 'DashboardController' 未注册

转载 作者:太空宇宙 更新时间:2023-11-04 15:42:10 25 4
gpt4 key购买 nike

我有一个新的 Angular 应用程序,但我不明白为什么我的 Controller 没有注册。我得到的完整错误是:

The controller with the name 'DashboardController' is not registered.

我将应用程序模块和仪表板 Controller 放在两个单独的文件中:

app.js:

var HtJobPortal = (function () {
'use strict';

angular.module('HtJobPortal', []);
})();

仪表板 Controller :

(function () {
'use strict';

HtJobPortal.controller('DashboardController', []);

var vm = this;
vm.title = 'DashboardController';

})();

我的 HTML 只是尝试提取标题:

<body ng-controller="DashboardController">
{{title}}


<!-- JS Scripts -->
<script src="Scripts/jquery-3.1.1.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
<script src="Scripts/angular.js"></script>

<!-- Application Directive -->
<script src="Scripts/controllers/app.js"></script>

<!-- Controllers -->
<script src="Scripts/controllers/DashboardController.js"></script>

</body>

有人可以帮我指出我在这里缺少什么吗?

最佳答案

您不需要添加 IIFE 函数分配给变量,只需将其删除即可。使用 IIFe 的全部目的是减少可变生命周期的时间。创建全局变量只会使生命周期更长

(function () {
'use strict';

angular.module('HtJobPortal', []);
})();

在 Controller 中,文件添加对 Controller 的模块引用并为该 Controller 创建一个函数

(function () {
'use strict';
angular.module('HtJobPortal')
.controller('DashboardController',DashboardController);

DashboardController.$inject = ['$scope'];

function DashboardController($scope){
var vm = this;
vm.title = 'DashboardController';
}

})();

在 html 中还添加 ng-app 指令。由于您使用的是controlleras,因此请使用正确的语法。

<body ng-app="HtJobPortal" ng-controller="DashboardController as vm">
{{vm.title}}


<!-- JS Scripts -->
<script src="Scripts/jquery-3.1.1.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
<script src="Scripts/angular.js"></script>

<!-- Application Directive -->
<script src="Scripts/controllers/app.js"></script>

<!-- Controllers -->
<script src="Scripts/controllers/DashboardController.js"></script>

</body>

关于javascript - AngularJS - 'DashboardController' 未注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43787944/

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