Javascript angularjs提供程序$get仅填充一次 angular.module(“app”,[]); 角度.module(“app”).provider(“设置”,函数(){ 这是。$get=function(){ 警报(“填充”) 返回“hops”; } }); 角度模块(“应用”)指令(“段落”,功能(设置){ 返回{ 模板:“

Javascript angularjs提供程序$get仅填充一次 angular.module(“app”,[]); 角度.module(“app”).provider(“设置”,函数(){ 这是。$get=function(){ 警报(“填充”) 返回“hops”; } }); 角度模块(“应用”)指令(“段落”,功能(设置){ 返回{ 模板:“,javascript,angularjs,Javascript,Angularjs,ok”, 链接:函数(){ console.log(设置) } } }) 我的指令是这样的: angular.module("app",[]); angular.module("app").provider("settings",function(){ this.$get = function(){ alert("get populated") return "hops"; } }); angular.module("app").direct

ok

”, 链接:函数(){ console.log(设置) } } }) 我的指令是这样的:

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)
      }
  }
})

但使用指令3次,但警报工作1次。

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

  • 提供程序$get方法仅在注入时调用。在注射过程中,它调用 $get函数,并根据 实施
  • 每个后续的注入$get函数都不会被调用。而是返回返回的相同引用对象/字符串 一审
  • 这就是单例在Angularjs中的实现方式。

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

  • 提供程序$get方法仅在注入时调用。在注射过程中,它调用 $get函数,并根据 实施
  • 每个后续的注入$get函数都不会被调用。而是返回返回的相同引用对象/字符串 一审

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

    提供程序仅在配置阶段进行交互。当应用程序已经运行时,您的“设置”不会执行$get,而是等于“跃点”。请参阅提供程序仅在配置阶段进行交互。当应用程序已经运行时,您的“设置”不会执行$get,而是等于“跃点”。请参阅

    ,因为
    提供者
    服务
    工厂
    常量
    本质上是单态的,因为
    提供者
    服务
    工厂
    常量
    本质上是单态的,这里
    <div ng-app="app">
        <paragraph></paragraph>
        <paragraph></paragraph>
        <paragraph></paragraph>
    </div>