gpt4 book ai didi

javascript - Angular Directive(指令) Controller : Argument is not a function, 未定义

转载 作者:行者123 更新时间:2023-11-30 08:38:21 24 4
gpt4 key购买 nike

我在我的 Controller 中创建了一个指令,我想在该指令中包含另一个 Controller 。我得到的错误是 Error: [ng:areq] Argument 'js/controllers/testview/DocumentController.js' is not a function, got undefined

测试 View Controller

app.controller('TestviewController', ['$http', '$scope', '$sessionStorage', '$state', '$log', 'Session', 'api', function ($http, $scope, $sessionStorage, $state, $log, Session, api) {
var module_id = $state.params.id;

$http.get(api.getUrl('componentsByModule', module_id))
.success(function (response) {
$scope.components = response;
});
}]);

app.directive('viewDoc', function () {
return {
templateUrl: "tpl/directives/testview/document.html",
controller: "js/controllers/testview/DocumentController.js",
resolve: { components: function() { return $scope.components }}
};
});

文档 Controller

app.controller('DocumentController', ['$http', '$scope', '$sessionStorage', '$state', '$log', 'Session', 'api', 'components', function ($http, $scope, $sessionStorage, $state, $log, Session, api, components) {
$scope.components = components;
}]);

我对指令很陌生,但是有人知道我做错了什么吗?

最佳答案

在指令定义对象中,controller 属性需要一个带有函数名称的字符串,或者函数本身(不是脚本文件的路径)。

app.directive('viewDoc', function () {
return {
...
controller: "DocumentController",

};
});

关于javascript - Angular Directive(指令) Controller : Argument is not a function, 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29348764/

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