Hyp*_*ate 5 javascript json typescript lodash angular
首先,我的班级:
export class FooBar {
...
isFavorite: boolean = false;
constructor() {
this.isFavorite = false;
}
}
Run Code Online (Sandbox Code Playgroud)
使用 Lodash 我对 的列表进行排序FooBar
,因此我最喜欢的将在列表的顶部:
this.fooBars = _.orderBy(this.fooBars, ['isFavorite', 'name'], ['desc', 'asc']);
Run Code Online (Sandbox Code Playgroud)
当我收藏一个项目并查看我的 console.log 时,它说明了这一点:
请注意,#3 没有 isFavorite 属性...
每当我从未设置时,isFavorite
它都不会显示。这使得 Lodash 排序错误。
有没有办法始终显示此属性,即使它未使用/未设置/错误?
我试过:
- 在类
中将属性设置为 false
-在类的构造函数中将属性设置为 false -this.foobars
在我的组件中循环,将它们全部设置为 false
- 添加一个接口到FooBar
我认为这是默认类属性的 typeScript 方式
export default class FooBar {
constructor(private isFavorite: boolean = false) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
或者简单地
export class FooBar {
constructor() {
this.isFavorite = false;
}
}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用 iteratee 中的函数_.orderBy
来相应地对列表进行排序:
export default class FooBar {
constructor(private isFavorite: boolean = false) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
export class FooBar {
constructor() {
this.isFavorite = false;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
170 次 |
最近记录: |