gpt4 book ai didi

javascript - Angular,在 $get 中调用新的构造函数(在提供者中)

转载 作者:行者123 更新时间:2023-11-30 16:58:53 25 4
gpt4 key购买 nike

我正在尝试使用 .provider 中的函数作为构造函数,但当它位于 $get 中时似乎无法对其调用新的构造函数。

所以我有我的提供者 -

 this.$get = $get;
$get.$inject = ['checkUrl', '$log', '$location'];

function $get(checkUrl, $log, $location) {
return {

moduleCon: function(name, cb) {
//my constructor function
}

}

如果我注入(inject)它并调用

   new  myProvider.$get().moduleCon("name", "cb");

我收到一个注入(inject)器错误。

但是如果我把它放在get之外,它会像这样工作

   (inside the provider above the $get)
this.moduleCon = function(name, cb) {
//my constructor function
}

我必须放一个 .this,然后我可以调用

   new myProvider.moduleCon("name","cb");

而且效果很好。有没有办法像我在这里使用的那样将它作为构造函数公开在 $get 中?谢谢!

最佳答案

您的代码被解释为

(new myProvider.$get()).moduleCon("name", "cb");

这不符合您的要求。你需要做的

new (myProvider.$get().moduleCon)("name", "cb"); // or
new (myProvider.$get()).moduleCon("name", "cb");

明确地说,但我只能建议不要即时创建构造函数。

关于javascript - Angular,在 $get 中调用新的构造函数(在提供者中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29220267/

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