我有一个具有以下功能的JS库:
function TestService() {
}
TestService.init = function() {
------
}
TestService.foo = function() {
--------------
}
现在这是一个旧的库,想在角度代码中使用这些功能。有没有一种方法可以将其包装为服务/工厂并正确使用?
提前感谢帮助。
最佳答案
如果您的类设计为使用new
实例化,只需将其传递给.service
:
app.service('testService', TestService);
Angular将在其上调用
new
一次以创建一个单例。编辑:
我以为您的问题出了错,这些功能确实应该分配给原型。
如果只需要该函数,则使用工厂或常量将其返回:
app.factory('testService', function() {
return TestService:
});
要么:
app.constant('testService', TestService);