角度材质网格没有响应,它的列在模板中设置和/或您可以设置变量并具有属性绑定。我试图使用后一种方法,我有一个
public cols:Observable;
我根据不同的窗口休息写的变量。我正在关注this文章并简单地设置了我的代码。但是,我的.map功能显示为未解析
ngOnInit(){
const grid = new Map([
["xs", 1],
["sm", 2],
["md", 2],
["lg", 3],
["xl", 3] ]); let start: number; grid.forEach((cols, mqAlias) => {
if (this.observableMedia.isActive(mqAlias)) {
start = cols;
} });
this.cols = this.observableMedia.asObservable().map(change => {
console.log(change);
console.log(grid.get(change.mqAlias));
return grid.get(change.mqAlias);
})
.startWith(start);
}
我的导入
import { ObservableMedia } from '@angular/flex-layout';
import { Observable } from "rxjs";
import { map, startWith } from 'rxjs/operators';
我也尝试过
导入import "rxjs/add/operator/map";
import "rxjs/add/operator/startWith";
但是这会引发错误,我假设是因为角度为6。
有关为什么.map函数未定义以及为什么我无法动态更改 cols 变量值的任何帮助?
答案 0 :(得分:4)
RxJS v5.5.2+
已移至 Pipeable 运算符,以改善树木抖动并更轻松地创建自定义运算符。
现在operators
需要使用pipe
方法合并 Refer This
新导入
import { map} from 'rxjs/operators';
示例强>
myObservable
.pipe(filter(data => data > 8),map(data => data * 2),)
.subscribe(...);
修改后的代码
this.observableMedia.asObservable().pipe(map(change => {
console.log(change);
console.log(grid.get(change.mqAlias));
return grid.get(change.mqAlias);
}),startWith(start));