홈>
Angular 앱에서 typescript String 인터페이스를 확장하고 있습니다. 내 앱 전체에서 액세스 할 수있는 translate () 메소드를 추가했습니다.컴파일 오류가 없습니다.
그러나 런타임 오류가 발생합니다 :
"TypeError: "Translate this string".translate is not a function"
내가 잘못하고있는 아이디어가 있습니까?
<시간>내 구현의 스크린 샷은 다음과 같습니다.
선언 :
구현
전화 :
- 답변 # 1
- 답변 # 2
이것은 저에게 효과적입니다 :
인터페이스 선언
3.In your app boot file, in my case its
사용법
main.ts
- 답변 # 3
귀하의 선언이 별도의 파일에 있다고 생각합니다. 여전히 기본 선언을 사용합니다. 코드에 접근 할 수 없습니다. 파일 또는이 파일에서 직접 가져 오기를 사용해보십시오.
global.d.ts
/// <reference path="app/core/extensions/global.d.ts" /> //... import './app/core/extensions/string.extensions';
관련 자료
- Typescript는 모든 날짜를 인터페이스에서 문자열로 변환합니다
- generics - Typescript는 인터페이스에서 키 값을 가져옵니다
- fs는 첫 번째 CSV 속성을 문자열로 읽습니다 타이프 스크립트
- 숫자 ID와 문자열 값으로 Typescript 유형을 정의하는 방법은 무엇입니까?
- typescript에서 generic으로 클래스를 확장하는 방법은 무엇입니까?
- firebase - typescript 인터페이스 변수 null 검사 및 기본값 설정
- typescript - record 인터페이스에서 모든 키가 아닌 값 유형 상속
- function - 첫 번째 매개 변수가 User 유형 인 이유는 무엇입니까? Typescript는 누구든지 나를 설명 할 수 있습니다
- typescript - ` 'keyof r'`은'string '유형 중 하나 일 수 있으므로'string '유형에 할당 할 수 없습니다 번호 | 상징'
- javascript - TypeScript 유형 'Record '은 'string'유형에 할당 할 수 없습니다
- Typescript 조건부로 제한된 문자열 공용체
- 기존 속성의 TypeScript 인터페이스에 별칭을 추가하는 방법은 무엇입니까?
- arrays - [문자열, 숫자] 인 인터페이스 구조를 정의하는 방법 - 타이프 스크립트 튜플
- go - 인터페이스 반환 런타임 오류 - 잘못된 메모리 주소 또는 nil 포인터 역 참조
- javascript - 문자열 인수를 메서드로 보낸 마지막 문자열 100 개와 비교하는 TypeScript 메서드
- node.js - typescript switch 문에서 인터페이스 검사를 어떻게 할 수 있습니까?
- typescript - 어설 션 문자열이 공용체의 일부가 아닙니다
- angular - html 구성 요소에서는 인터페이스를 사용할 수 있지만 typescript에서는 사용할 수 없습니다
- visual studio - 런타임에 Typescript 컴파일 오류가 발생하는 이유는 무엇입니까?
- typescript - 런타임 문자열을 문자열 열거 형으로 변환하는 방법
관련 질문
- Angular 6 응용 프로그램이 'google'네임 스페이스를 찾을 수 없습니다.
- angular : 각도 Google지도 반경 검색 및 바운드 검색
- TypeScript로 Angular에서 객체를 반복하는 올바른 접근 방식은 무엇입니까?
- angular : moment.js 함수를 감시하는 동안 문제가 발생했습니다.
- javascript : Angular에서 내보내기 기능을 어떻게 분류하고 호출해야합니까?
- angular : 각도로 서비스를 부르는 데코레이터?
- javascript : Angular 9 모델에 바인딩 선택
- Angular Universal 빌드가 API 요청이있는 사전 렌더링 페이지에서 중단됨
- angular : HttpInterceptor를 사용한 헤더 설정 문제
- javascript : Angular Admin Guard 문제 'void'유형의 표현은 진실성을 테스트 할 수 없습니다.
이 문제를 해결할 수있었습니다. 이 문제를 해결하는 방법에 대한 업데이트는 다음과 같습니다.
<시간> 와이즈 비즈 와이즈 비즈 인터페이스 확장 정의를 추가하십시오. 와이즈 비즈 와이즈 비즈 와이즈 비즈 와이즈 비즈export { }; declare global { interface String { /** * Translates the given string according to the culture provided. * @param cultureName The culture name of the translation target. * @returns The translated string. */ translate(cultureName: string): string; } }
에 대한 참조를 추가하십시오. 확장 방법이 포함 된 파일 정의.프로젝트에서이 파일을 한 번만 가져와야합니다 (
와이즈 비즈 <시간>string.extensions.ts
) 그런 다음 코드의 어느 곳에서나 사용할 수 있습니다.이 성가신 문제를 해결하기 위해해야 할 전부입니다.
작동하는 플런저에 대한 링크는 다음과 같습니다.Plunker Demo