gpt4 book ai didi

javascript - angularjs 提供者 $get 仅填充一次

转载 作者:行者123 更新时间:2023-11-28 18:28:09 24 4
gpt4 key购买 nike

angular.module("app",[]);

angular.module("app").provider("settings",function(){
this.$get = function(){
alert("get populated")
return "hops";
}
});

angular.module("app").directive("paragraph", function(settings){
return {
template: "<p>ok</p>",
link:function(){
console.log(settings)
}
}
})

我这样应用了我的指令:

<div ng-app="app">
<paragraph></paragraph>
<paragraph></paragraph>
<paragraph></paragraph>
</div>

但是使用了 <paragraph> 指令 3 次,但警报起作用 1 次。

最佳答案

是的。那是对的。默认情况下,提供者和其他糖语法(如服务、工厂)都是单例。

  1. 仅在注入(inject)时才会调用提供程序 $get 方法。在注入(inject)期间它调用$get 函数并返回对象/字符串实现
  2. 每次后续注入(inject),$get 函数都不会被调用。但返回相同的引用对象/字符串 在第一次的时候

这就是 Angularjs 中单例的实现方式。

关于javascript - angularjs 提供者 $get 仅填充一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38697230/

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