3 回答

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
angular.service('myService', myServiceFunction); angular.factory('myFactory', myFactoryFunction);
服務(wù)
myInjectedService <---- new myServiceFunction()
工廠
myInjectedFactory <--- myFactoryFunction()
比如寫(xiě)一個(gè) 服務(wù)函數(shù)公開(kāi)公共API:
function myServiceFunction() { this.awesomeApi = function(optional) { // calculate some stuff return awesomeListOfValues; }}--------------------------------------------------------------------------------- // Injected in your controller$scope.awesome = myInjectedService.awesomeApi();
或者使用 工廠函數(shù)公開(kāi)公共API:
function myFactoryFunction() { var aPrivateVariable = "yay"; function hello() { return "hello mars " + aPrivateVariable; } // expose a public API return { hello: hello };}--------------------------------------------------------------------------------- // Injected in your controller$scope.hello = myInjectedFactory.hello();
或者使用 工廠函數(shù)返回構(gòu)造函數(shù):
function myFactoryFunction() { return function() { var a = 2; this.a2 = function() { return a*2; }; };}--------------------------------------------------------------------------------- // Injected in your controllervar myShinyNewObject = new myInjectedFactory();$scope.four = myShinyNewObject.a2();
用哪一個(gè)?.
var myShinyNewObject = new myInjectedService.myFunction()
var myShinyNewObject = new myInjectedFactory();
new()
還有一件事,他們都是單身.。

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
// Serviceservice = (a, b) => { a.lastName = b; return a;};// Factoryfactory = (a, b) => Object.assign({}, a, { lastName: b });
const fullName = { firstName: 'john' };
// Service
const lastNameService = (a, b) => {
a.lastName = b;
return a;
};
console.log(lastNameService(fullName, 'doe'));
// Factory
const lastNameFactory = (a, b) =>
Object.assign({}, a, { lastName: b })
console.log(lastNameFactory(fullName, 'doe'));
- 3 回答
- 0 關(guān)注
- 520 瀏覽
添加回答
舉報(bào)