angular - Nativescript - 我的组件中不存在 ChangeDetectorRef

标签 angular typescript nativescript angular2-changedetection

我尝试自动更新 ListView 中使用的数组。为此,我使用 ChangeDetectorRef,如下所示:

import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef } from "@angular/core";

@Component({
    selector: "register",
    templateUrl: "./register.html",
    styleUrls: ["./register.css"],
    changeDetection: ChangeDetectionStrategy.OnPush
})

export class RegisterComponent implements OnInit {

@Input regis = Array<string>;

constructor(cdr: ChangeDetectorRef){}

ngAfterContentChecked() {
    this.cdr.detectChanges();
}

但是,我收到此错误:

error TS2339: Property 'cdr' does not exist on type 'RegisterComponent'.

有人可以解释一下我的误解吗?

最佳答案

它是构造函数中的局部变量,直到您添加像 public/private 这样的访问器。

import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef } from "@angular/core";

@Component({
    selector: "register",
    templateUrl: "./register.html",
    styleUrls: ["./register.css"],
    changeDetection: ChangeDetectionStrategy.OnPush
})

export class RegisterComponent implements OnInit {

@Input regis = Array<string>;

constructor(private cdr: ChangeDetectorRef){}

ngAfterContentChecked() {
    this.cdr.detectChanges();
}

关于angular - Nativescript - 我的组件中不存在 ChangeDetectorRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53732775/

相关文章:

javascript - 基于条件或重用结构的不同 Html-Tag

javascript - 谷歌图表 : Overlapping bars - bring latest to front

javascript - 在 angular2 中导出 xlsx 文件( typescript )

ios - "assertion failed"警告

angular - 如何让 Leaflet Marker-Cluster Freezable 方法显示在 VS Code IntelliSense 中

Angular 2's component' s样式在封装的子组件中没有继承

reactjs - 无法在Formik/Dist中解析React -自定义WebPack配置

javascript - 从 TypeScript 访问 JavaScript "this"

css - Nativescript 如何溢出文本?

android - Nativescript 和 FontAwesome