gpt4 book ai didi

javascript - 参数 '[controllerName]' 不是 NaNunction,在转换为 TypeScript 时未定义

转载 作者:行者123 更新时间:2023-11-28 15:13:52 25 4
gpt4 key购买 nike

开始使用 TypeScript。我可以在没有 TypeScript 的情况下进行此操作,但在转换时出现错误。

我有以下 Controller :

"use strict"
module app.blogApp {
class BaHomeController {
entries: any[];

static $inject = ["$http"];

constructor(
private $http
) {
this.loadEntries();
}

private loadEntries() {
this.$http.get("api/blogEntries").then(function(response) {
this.entries = response.data;
});
}
}
}

它被转换为:

"use strict";
var app;
(function (app) {
var blogApp;
(function (blogApp) {
var BaHomeController = (function () {
function BaHomeController($http) {
this.$http = $http;
this.loadEntries();
}
BaHomeController.prototype.loadEntries = function () {
this.$http.get("api/blogEntries").then(function (response) {
this.entries = response.data;
});
};
BaHomeController.$inject = ["$http"];
return BaHomeController;
})();
})(blogApp = app.blogApp || (app.blogApp = {}));
})(app || (app = {}));

通过 HTML 加载:

<section data-ng-controller="BaHomeController as vm"></section>

为什么会产生 Angular 错误:

Error: ng:areq Bad Argument Argument 'BaHomeController' is not aNaNunction, got undefined

我读到这意味着 Angular 可能无法找到 Controller 。使用这种新语法,我如何验证 Controller 名称是否正确?

PS 什么是 aNaNunction?

最佳答案

您在某处缺少这样的行(假设您尚未注册该模块):

angular.module('blogApp', []).controller('BaHomeController', app.blogApp.BaHomeController);

关于javascript - 参数 '[controllerName]' 不是 NaNunction,在转换为 TypeScript 时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35000458/

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