Как совместно использовать экземпляр в приложении Angular?

#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 помощью and Observable , импортировать ее в свой корневой модуль и объявить эту службу в providers массиве.

Ответ №1:

Если я правильно понимаю, вам нужно получить доступ "Block" class к другому модулю того же проекта, верно?

просто вам нужно экспортировать этот класс и импортировать в module.ts. чтобы он мог быть доступен для любого модуля в приложении angular

Комментарии:

1. Блочный класс — это пользовательский класс, не обладающий свойством, которое можно вводить, он является ядром библиотеки

2. не могли бы вы поделиться каким-нибудь блоком кода, например, stackliz online, это поможет нам быстро помочь вам

Ответ №2:

Вы должны создать общую службу, и у службы должно быть поле типа Block.

Затем вы должны назначить свой экземпляр блока в компоненте этому полю в вашей общей службе.

Обратитесь к этому