我有一个具有以下功能的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);

10-04 19:27