В Angular (6) есть какой-либо способ ограничить angular, чтобы отслеживать только несколько переменных класса, которые должны использоваться на стороне html - PullRequest
0 голосов
/ 01 июля 2019

Предположим, что у нас есть компонент тестирования компонента, как показано ниже,

@Component({
    selector: 'app-my-value',
    template: ' <div *ngFor="let item in arrayList">
            <child-item [item]="item"> <child-item>
        </div>',
    styleUrls: [ './my-value.component.css' ]
})
export class MyValueComponent {
    private arrayList: Array < string > = [];
    private someOtherObject: object = {};
    constructor() {
        this.arrayList = [
            this.doSomething('item1'),
            this.doSomething('item2'),
            this.doSomething('item3'),
            this.doSomething('item4'),
            this.doSomething('item5')
        ];
    }
    doSomething(input: string): string {
        let stringItem;
        // Do something with someOtherObject 
        // bla bla blaaa
        return stringItem
}
    modifyOtherObject(){}
}

Теперь здесь, если вы видите, arrayList - переменная, потребляемая в HTML, но someOtherObject используется только в файле ts, этоиспользуется несколькими функциями, так как он даже не может создать ее как локальную переменную, она должна быть переменной класса

Теперь мой вопрос заключается в том, существует ли какой-либо способ различения двух типов переменных?

Поскольку в HTML используется arrayList, angular продолжит проверять его на наличие изменений, но также присутствует someOtherObject, и я не хочу, чтобы он отслеживался.Как этого добиться + несколько советов по управлению памятью будут потрясающими.

...