如何让 Angular 传播我对模型所做的更改。在 AngularJS 中,这真的很容易,但我似乎无法让它在 Angular 中工作。我知道整个变化检测系统和视图传播完全改变了。不知何故,我需要通知角度的变化。但我怎么能在实践中做到这一点。
请参阅这段打字稿代码:
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);
您会看到,在将用户加载到模型中后,视图不会更新。
我正在使用 systemjs 0.16,角度 2.0.0-alpha.23。
有关示例,请参见此 plnkr(目前,仅适用于 chrome,因为使用了新的 'fetch' api)