簡體   English   中英

Angular 中的 ChangeDetectorRef 實例

[英]ChangeDetectorRef instance in Angular

我在一個 Angular 項目中有一個組件和一個常規的 TypeScript 類。 該組件擴展了類。 兩者都有一個獨立的 ChangeDetectorRef 實例。 像這樣的東西:

import { ChangeDetectorRef } from '@angular/core';

export class MySuperClass {
    private cdr: ChangeDetectorRef;
    constructor() {}
    // .. other code here
}

在另一個文件中:

import { ChangeDetectorRef } from '@angular/core';

export class MyComponent extends {
    @Component({...})

    constructor(private cdr: ChangeDetectorRef) {
        super();
    }
    // .. other code here
}

讓我感到困惑的是,從超類中使用的 ChangeDetectorRef 實例即使沒有顯式注入也沒有實例化也能正常工作。

這種行為是由於 ChangeDetectorRef 的性質還是 TypeScript 中繼承的工作方式的性質,還是完全其他原因?

當角注入時

private cdr: ChangeDetectorRef

進入 MyComponent 它實際上運行在他父親擁有的相同參數上。

如果您單獨創建 MySuperClass 的實例,或者如果您更改 MySuperClass 的 cdr 參數名稱,則它們都不會保存相同的 ChangeDetectorRef 上下文

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM