Các đối tượng ngày được sửa đổi bằng cách sử dụng phương thức setDate không được cập nhật trong mẫu.Làm thế nào để phát hiện các thay đổi với các đối tượng Date trong Angular2?
Trong mẫu:
<p>{{date | date:'mediumDate'}}</p>
Trong thành phần:
nextDay(){
this.date.setDate(this.date.getDate()+1);
}
Nhưng khi tôi gọi nextDay chức năng, mẫu isnt cập nhật với các giá trị mới.
Cách duy nhất tôi có thể có được sự phát hiện sự thay đổi làm việc đã làm điều này:
nextDay(){
var tomorrow = new Date();
tomorrow.setDate(this.date.getDate()+1);
this.date = tomorrow;
}
Có một cách tốt hơn để hoàn thành nhiệm vụ này giống nhau không?
Ống 'ngày' có thể là không có quốc tịch, vì vậy cần phải xem thay đổi thuộc tính đầu vào' ngày' hoặc đường ống sẽ không thực thi lại. Khi @jhadesdev đề cập đến câu trả lời của anh ta, vì 'date' là một đối tượng, và Angular chỉ kiểm tra tham chiếu, bạn cần đặt lại tham chiếu (đối tượng mới/khác). –
Tôi đã cho nó một shot mà không có đường ống vừa nãy, và kết quả tương tự của nó. Nếu bạn thay đổi ngày sẽ không kích hoạt mẫu thay đổi, chỉ thay đổi tham chiếu sẽ kích hoạt mẫu thay đổi –