2016-06-08 3 views
1

modulate.factory() 메서드를 사용하여 각도가 실제로 팩토리를 만드는 방법을 자세히 설명했습니다. AngularJS Factory에서 enforce 매개 변수의 의미는 무엇입니까?

나는 내부적으로 만

function factory(name, factoryFn, enforce) 

그래서 내 질문을 공급자를 사용하는 방법에 따라 내부적으로 각 용도가 실제로 무엇을, 세 번째 매개 변수이 기능의 enforce에 관한 것을 발견했다. 각도 서비스 나 공장을 만들 때

답변

1

이 장면 뒤에, 각도 결국 모두에 대해 동일한 기능을 사용

function factory(name, factoryFn, enforce) { 
    return provider(name, { 
    $get: enforce !== false ? enforceReturnValue(name, factoryFn) : factoryFn 
    }); 
} 

서비스를 생성, 반환 값은 일반적으로 전송되지 않으며, 배후, Object.create()이 호출되어 sayHello 메소드를 포함하는 객체를 만듭니다. 공장을 만들 때

app.service('MyService', function() { 
    this.sayHello = function() { 
    console.log('hello'); 
    }; 
}); 

는하지만, 문자 객체가 반환된다

app.factory('MyService', function() { 
    return { 
    sayHello: function() { 
     console.log('hello'); 
    }; 
    } 
}); 

기본적으로 리턴 값을 적용하는데 사용된다 시행. "이 서비스인가 공장인가?"라는 질문 만이 아닙니다.

app.service('MyService', function() { 
    return { 
    sayHello: function() { 
     console.log('hello'); 
    }; 
    } 
}); 

질문 : "어느 것을 사용해야합니까?"라는 질문에 대해서는 다음과 같이 질문하십시오. 다음을 확인하십시오 :

http://blog.thoughtram.io/angular/2015/07/07/service-vs-factory-once-and-for-all.html

관련 문제