了解工厂内角形工厂的名称

时间:2014-05-13 10:47:58

标签: angularjs

有没有办法知道由angular创建的工厂对象的名称?

.factory('myInterceptor',['$q',

     function($q) {
        var interceptor= {
            'request': function(config) {
                //Here I want to make a console.log("myInterceptor")            
                return config || $q.when(config);
            }
        };
        return interceptor;
    }
])

当然,目标不是硬编码console.log("myInterceptor"),而是像console.log(this.name)或观察者那样。

类似于Java中的org.springframework.beans.factory.BeanNameAware ......有可能吗?

1 个答案:

答案 0 :(得分:1)

基本解决方案:

 var factoryName = 'myInterceptor';
 ...factory(factoryName ,['$q',

     function($q) {
        var interceptor= {
            'request': function(config) {
                console.log(factoryName)            
                return config || $q.when(config);
            }
        };
        return interceptor;
    }
])

考虑将此包装在自调整闭包中,以便不污染全局变量范围