Angular2: объявить переменные для всех компонентов

angular inheritance components

90 просмотра

2 ответа

Я использую JS-библиотеку внутри компании. Я ссылался на скрипт в файле index.html. Чтобы заставить его работать, я использовал ключевое слово «объявления» в моем корневом компоненте для инициализации некоторых вещей при загрузке приложения:

declare const someInternalLibrary: any;

Теперь, в другом компоненте я хотел бы использовать ту же библиотеку, чтобы делать другие вещи. Как я могу использовать это, не повторяя верхнюю строку кода? Это не было бы слишком чисто, я думаю. Есть ли что-то вроде наследования для дочерних компонентов? Я читаю кое-что о декларациях, так как я очень новичок в ng2, хотя я действительно не вижу пути до конца.

Автор: sandrooco Источник Размещён: 08.11.2019 11:18

Ответы (2)


1 плюс

Решение

Вы можете использовать typingsопределение в своем приложении, чтобы объявить свою внутреннюю библиотеку.

Если вы используете, angular-cliтам есть файл typings.d.ts, вы можете добавить все пользовательские объявления. даже вы можете определить все свои функции из внутренней библиотеки, которая затем даст вам intellisense.

Чтобы узнать больше о том, как написать файл декларации, вы можете посмотреть здесь (Написание файлов декларации)

Надеюсь это поможет!!

Автор: Madhu Ranjan Размещён: 20.08.2016 03:31

0 плюса

Вы можете попробовать это с токенами внедрения зависимостей (не-классовые зависимости или OpaqueToken)

https://angular.io/docs/ts/latest/guide/dependency-injection.html#!#dependency-injection-tokens

Автор: gaetano Размещён: 20.08.2016 03:29
Вопросы из категории :
32x32