angular - Nativescript - 我的组件中不存在 ChangeDetectorRef
问题描述
我尝试自动更新 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();
}
但是,我收到此错误:
错误 TS2339:“RegisterComponent”类型上不存在属性“cdr”。
有人可以解释一下我误解了什么吗?
解决方案
它是构造函数中的局部变量,直到您添加公共/私有之类的访问器。
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();
}
推荐阅读
- java - Java SWT 连续表格不同的单元格值
- laravel - 在 Web Base PHP laravel 应用程序上从 POS 打印机打印账单
- php - laravel 无法处理异常,catch 块未执行
- facebook - 如何使用 Facebook ID 号查找 Facebook 个人资料?
- java - Spring boot - h2 DB 测试多次执行脚本
- scala - 为类型安全的配置获取器提供默认值
- python - 如何在张量流中的张量中执行项目分配?
- c# - EF Core 种子迁移:重新播种
- dll - 使用第 3 方 .lib 文件构建 VS2015 C++ 类库 DLL
- c# - 具有不同类型的 C# 多态构造函数