내가 인터페이스를 보낸 고려인터페이스 이름을 문자열로 가져올 수 있습니까?
export interface IMyAngularService{
}
우리는 우리가 일반적으로 등록 된 서비스의 이름 또는 단순히 문자열 추론 함수 이름을 사용하는 서비스 나 공장 (예를 들어, 'ISomeService'-> 'SomeService')를 등록 할 때;
나중에 나는 인터페이스의 이름을 변경하기로 결정하고 자동으로 변경하는 종속성을 설명하고 싶습니다 : dependency
기능은 종래 인터페이스 이름에서 서비스 이름을 가져옵니다
class MyController{
static $inject = [
dependency(nameof<ISomeService1>),
dependency(nameof<ISomeService2>)
];
constructor(...dependencies){
}
}
. 따라서 ISomeService1
의 이름이 변경되면 결과 JavaScript에 변경된 문자열이 포함됩니다.
인터페이스와 동일한 이름을 가진'var'을 갖는 것은 합법적입니다. 따라서 인터페이스 선언 옆에'var IMyAngularService = 'MyAngularService';'라고 쓸 수 있습니다. –
@ Ryan 그러나 IEFEs가 될 모듈 안에 인터페이스를 선언하십시오 . 따라서 변수는 액세스 할 수 없거나 전역 변수 여야합니다. 내 보낸 인터페이스는 어디서나 액세스 할 수 있지만 JS에서는 흔적을 남기지 않습니다. –
'export var'의 문제점은 무엇입니까? –