Дочернее приложение наследуется своему родителю web.config?

Angular не делает доступными данные @Input , как только создается компонент. То есть это не доступно во время constructor().

Если вы хотите отключить, когда @Input действительно отправлено (и повторно отправлено), используйте NgOnChanges:

import { Component, Input, OnChanges } from @angular/core';
@Component({
    selector: 'app-foo',
})
export class FooComponent implements OnChanges {
    @Input() visitors: IVisitor[];
    ngOnChanges() {
        if (this.visitors) {
            console.log(this.visitors)
            // do something with this.visitors
        }
    }
}

В качестве альтернативы вы можете использовать getter / setters для запуска чего-либо, когда оно отправляется Angular :

    private _visitors: IVisitor[];
    @Input() public set visitors(val: IVisitor[]) {
        this._visitors = val;
    }
    // Also, guarantee to always return an array
    public get visitors(): IVisitor[] {
        if (this._visitors) {
            return this._visitors;
        }
        return [];
    }
9
задан Blankman 22 April 2009 в 18:49
поделиться

3 ответа

Да, без явной настройки, и я не знаю, как это предотвратить.

Однако многие разделы конфигурации позволят вам очистить данные, унаследованные от родительских файлов.

Например,

<appSettings>
   <clear/>
   <add key=...>
</appSettings>

<connectionStrings>
   <clear/>
   <add ... />
</connectionStrings>
6
ответ дан 4 December 2019 в 20:24
поделиться

. Ребенок наследует файл web.config родителя.

Также,

1
ответ дан 4 December 2019 в 20:24
поделиться

Вы также можете используйте тег remove , чтобы избавиться от вещей, которые вы не хотите, или поместите все в место и запретите его наследовать:

<remove name="FooBar" />

<location path="." inheritInChildApplications="false">
    <system.web>
        ...
    </system.web>
</location>
4
ответ дан 4 December 2019 в 20:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: