Làm cách nào để cho phép Angular truyền các thay đổi mà tôi đã thực hiện cho mô hình. Trong AngularJS điều này sẽ thực sự dễ dàng, nhưng tôi dường như không thể làm cho nó hoạt động trong Angular. Tôi biết toàn bộ hệ thống phát hiện thay đổi và xem truyền bá được thay đổi hoàn toàn. Bằng cách nào đó, tôi cần phải thông báo góc cạnh của những thay đổi. Nhưng làm thế nào tôi có thể làm điều này trong thực tế.Cách cập nhật chế độ xem sau khi thay đổi mô hình trong Angular
Xem đoạn mã này nguyên cảo:
import {Component, View, bootstrap, For} from 'angular2/angular2';
// Annotation section
@Component({
selector: 'app'
})
@View({
template: `
<div *for="#user of users">
{{user}}
</div>
`,
directives: [For]
})
class App {
users:Array<String>;
constructor() {
this.users = [];
this.fillUsersAsync();
}
fillUsersAsync(){
window['fetch']('http://jsonplaceholder.typicode.com/users')
.then(resp => resp.json())
.then(users => users.forEach(user => this.users.push(user.name)))
.then(() => console.log('Retrieved users and put on the model: ', this.users));
}
}
bootstrap(App);
Bạn sẽ thấy rằng, sau khi người sử dụng có được nạp vào mô hình, quan điểm không cập nhật.
Tôi đang sử dụng systemjs 0.16, angular 2.0.0-alpha.23.
See this plnkr for the example (hiện tại, chỉ hoạt động trong chrome, như mới 'lấy' api được sử dụng)
Liên kết thứ hai của bạn dường như đặt tôi vào đúng đường dẫn, nhưng tài liệu dường như đã lỗi thời. Tôi nghĩ rằng tôi cần một số loại hình thức chỉ thị trong mảng chỉ thị, nhưng tên là gì, và làm thế nào để nhập khẩu nó? – nicojs
@nicojs sẽ cố gắng thực hiện như trong ví dụ về liên kết đầu tiên và nếu nó không hoạt động, hãy làm như trong phần thứ hai. Tên chỉ thị cho 'forms' - chỉ thị: [forms] hoặc có thể [Forms]. Nhập khẩu nó như bạn nhập [For] chỉ thị. Hãy thử điều này và báo cáo xin vui lòng, tôi cố gắng giúp bạn nhiều hơn nữa. –
Tôi đã thử tất cả, nhưng nó không hoạt động. Tôi nghĩ chúng ta đang đi sai hướng. Theo tôi biết, angular2 vẫn sử dụng kiểm tra bẩn để xem liệu mô hình có bị thay đổi hay không. Bằng cách nào đó tôi cần phải thông báo cho angular2 rằng tôi đã cập nhật mô hình. Hoặc sử dụng $ http tương đương. – nicojs