无法分配给只读属性“dataChange”的对象“#<ValidationComponent>”

13

我正在尝试在Angular 4中使用双向绑定。以下是我的组件代码:

@Component({
    selector: 'form-validation',
    templateUrl: './form.validation.template.html',
    encapsulation: ViewEncapsulation.None
})

export class ValidationComponent {

    @Input() data;

    @Output dataChange = new EventEmitter();

    //...

}

但是当我试图将其应用于类似这样的东西时:

<form-validation [(data)]="data"></form-validation>

我在Chrome浏览器控制台上看到了这个错误信息:

Cannot assign to read only property 'dataChange' of object '#<ValidationComponent>'

data属性是一个特定类型的数组,但即使我指定了该类型或初始化了该属性,错误仍然会发生。

data属性是一个具有特定类型的数组,但是即使我指定了它的类型或者初始化了这个属性,错误也会发生。


15
是不是应该用 @Output() 而不是 @Output - Harry Ninh
没错!这是一个愚蠢的错误。谢谢! - fred00
1个回答

0

为了明确起见,下面的答案是由harry ninh在上面的评论中提供的

应该使用@Output()而不是@Output


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接