Tôi đang sử dụng góc 2 beta 5.Ràng buộc hai chiều trong Góc 2 với NgModel và biến đổi thuộc tính bị ràng buộc?
Dưới đây là quan điểm của tôi:
<textarea [(ngModel)]="pendingMessage" (keydown.enter)="sendMessage()"></textarea>
Và đây là thành phần của tôi:
@Component({
//...
})
export class AppComponent {
private _pendingMessage: string;
public get pendingMessage() {
return this._pendingMessage;
}
public set pendingMessage(value: string) {
this._pendingMessage = value;
}
constructor() {
this.pendingMessage = "initial stuff"; //this shows up in the text field initially
}
public sendMessage() {
console.log(this.pendingMessage); //here, pending message is indeed whatever I typed in the text field
this.pendingMessage = "blah";
//here I expected the textfield to now contain "blah", but it doesn't
}
}
Khái niệm toàn bộ này hai chiều ràng buộc dường như được làm việc ổn thỏa. Khi tôi gõ một số văn bản trong lĩnh vực này và nhấn Enter, tôi có thể thấy rằng pendingMessage
thực sự là bất cứ điều gì tôi đã gõ vào lĩnh vực này.
Tuy nhiên, trong dòng bên dưới, nơi tôi cố gắng đặt pendingMessage
thành "blah"
, tôi cũng mong muốn cập nhật trường văn bản này chứa "blah". Tại sao điều này không đúng? Đó không phải là điểm liên kết hai chiều sao?
Tôi biết rằng Angular 2 không thể biết một cách kỳ diệu khi giá trị thay đổi, nhưng tôi hy vọng nó sẽ thực hiện kiểm tra bẩn sau khi đánh giá sự kiện. Có cách nào để làm cho nó làm một điều như vậy tự động hoặc bằng cách nào đó nhận sự thay đổi? Tôi muốn tránh sử dụng apply
.
Xin lỗi, tôi hiểu lầm câu hỏi của bạn :-( –
Không sao - Tôi đưa cho bạn một phản upvote để khắc phục một trong những tiêu cực Tôi đưa cho bạn trước đó (tôi thấy bạn không có một theo dõi hồ sơ của những điều hiểu lầm). –