我有以下课程
export class filter {
public PageRecords: number;
public SearchText: string;
public SortColumn: string = null;
public SortDirection: string = null;
public StartingPos: number;
}
Run Code Online (Sandbox Code Playgroud)
以下行为主题
filterParam = new BehaviorSubject(new filter);
Run Code Online (Sandbox Code Playgroud)
更新主题
this.filterParam.next(<filter>{StartingPos : 1,PageRecords : 10 })
Run Code Online (Sandbox Code Playgroud)
当我得到主题的价值时
this.filterParam.value
Run Code Online (Sandbox Code Playgroud)
它只有我更新的两个道具开始位置和页面记录。它失去了其他道具。
如何解决这个问题?
例如,我希望以下两种类型 - ViewModel 和 SaveModel 具有相同的键但不同的值类型,
type User = {
id: number;
name: string;
age: number;
}
type Address = {
street: string;
zip: string;
}
type ViewModel = {
user: User;
address: Address;
}
type SaveModel = {
user: number;
address: string;
}
Run Code Online (Sandbox Code Playgroud)
如何在打字稿中做到这一点?
我有以下代码来管理用户,
@Component({
selector: 'app-user',
template: `
<input [(ngModel)]="newUser"><button (click)="addNewUser()">add</button>
<div *ngFor="let user of users$ |async">
{{user}}
</div>
`
})
export class UserComponent {
newUser: string;
users$: Observable<any>;
private _users = [];
ngOnInit() {
this.users$ = of(this._users);
}
addNewUser() {
this._users.push(this.newUser);
}
}
Run Code Online (Sandbox Code Playgroud)
当我简单地将新用户推送到包含在 rxjs 中的 this._users 数组时,Angular 如何知道何时更新 html 中的 this.users$ of?角度异步管道如何检测可观察对象内部的变化?
例如,
type A = Array<string>[never]; // A is string
Run Code Online (Sandbox Code Playgroud)
never这里怎么理解呢?例如,我们可以any在这里使用吗?如果有的话有什么区别?