有没有办法知道由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 ......有可能吗?
答案 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;
}
])
考虑将此包装在自调整闭包中,以便不污染全局变量范围