/ / Błąd duplikatu identyfikatora na wejściu komponentu Angular2 za pomocą modułów Getters and Setters - kątowy

Błąd duplikatu identyfikatora na wejściu komponentu Angular2 za pomocą modułów Getters and Setters - kątowy

Mam element Angular 2, który używa dekoratora pól klasy @Input, a także pobierające i ustawiające w następujący sposób:

import {Component, Input, Output, EventEmitter,FORM_DIRECTIVES, CORE_DIRECTIVES} from "angular2/angular2";

@Component({
selector: "binding-test3",
templateUrl: "./components/binding-test/binding-test3.html",
directives: [CORE_DIRECTIVES,FORM_DIRECTIVES]
})

export class BindingTest3 {

@Input() value: string;
@Output() valueChange:EventEmitter = new EventEmitter();

private _value: string;

get value() {
console.log("getting value in BindingTest3: ",this._value);
return this._value;
}

set value(value) {
console.log("setting value in BindingTest3: ",value);
this._value = value;
this.valueChange.next(value);
}
}

Kod działa poprawnie, ale występują trzy błędy kompilatora:

app / components / binding-test / binding-test3.ts (15,14): błąd TS2300: Zduplikowany identyfikator "wartość". app / components / binding-test / binding-test3.ts (20,9): error TS2300: Zduplikowany identyfikator "wartość". app / components / binding-test / binding-test3.ts (25,9): error TS2300: Zduplikowany identyfikator "wartość".

Wszelkie pomysły na rozwiązanie tego problemu?

Odpowiedzi:

4 dla odpowiedzi № 1

Połącz @Input z zestawem:

@Input() set value(value:string) { ... }

Jest na to przykład Dyrektywy dotyczące atrybutów strona przewodnika dla programistów:

@Input() set defaultColor(colorName:string) {...}