#angular
#angular
Вопрос:
У меня есть элемент Angular с загрузкой root, который я использую в другом приложении. У него есть входные параметры:
<block-element [props]="props"></block-element>
Компоненты выглядят так:
@Component({
selector: 'block-element',
templateUrl: './block-element.component.html',
styleUrls: ['./block-element.component.scss'],
})
export class BlockElementComponent implements OnInit {
public block: Block;
@Input() props: ReonMapProps = {};
ngOnInit() {
this.block = new Block(this.props) // Get properties outside
}
}
Как предоставить общий new Block()
доступ в полном приложении Angular?
Комментарии:
1. Вы можете создать службу с
BehaviorSubject
помощью andObservable
, импортировать ее в свой корневой модуль и объявить эту службу вproviders
массиве.
Ответ №1:
Если я правильно понимаю, вам нужно получить доступ "Block" class
к другому модулю того же проекта, верно?
просто вам нужно экспортировать этот класс и импортировать в module.ts. чтобы он мог быть доступен для любого модуля в приложении angular
Комментарии:
1. Блочный класс — это пользовательский класс, не обладающий свойством, которое можно вводить, он является ядром библиотеки
2. не могли бы вы поделиться каким-нибудь блоком кода, например, stackliz online, это поможет нам быстро помочь вам
Ответ №2:
Вы должны создать общую службу, и у службы должно быть поле типа Block.
Затем вы должны назначить свой экземпляр блока в компоненте этому полю в вашей общей службе.
Обратитесь к этому