Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html ngif保持为false,即使其值是正确的_Html_Angular_Typescript_Redux_Store - Fatal编程技术网

Html ngif保持为false,即使其值是正确的

Html ngif保持为false,即使其值是正确的,html,angular,typescript,redux,store,Html,Angular,Typescript,Redux,Store,我的代码如下所示: 组件技术 export class ViewScaleComponent implements OnInit { private range$: Observable<number>; constructor(private store: Store<AppState>) {} ngOnInit() { this.range$ = this.store.select(x => x.view.range);

我的代码如下所示:

组件技术

export class ViewScaleComponent implements OnInit {
    private range$: Observable<number>;
    constructor(private store: Store<AppState>) {}

    ngOnInit() {
        this.range$ = this.store.select(x => x.view.range);
    }
}
然后我得到:

on init [object Object]
undefined
21
最后两个控制台日志来自同一行(
do()
)。我想知道第一个未定义的
是否是不显示
di
的原因

值得注意的是,有时它是有效的(我看到
div
range$
的值正在按预期更新)

有什么想法吗


PS:我读了,但是可观察的和
async
的组合看起来和我的非常相似。

你不需要
ngIf
,只要把
{range$|async}}

更新

range:any ;
ngOnInit() {
    this.store.select(x => x.view.range).subscribe(x => this.range = x);
}
模板

<div *ngif="range">
  here {{ range }}
</div>

这里{{range}}

如果我不使用
ngif
,将出现
div
,但数据插值将为空。另外,在您的回答中,什么是
范围
?您从组件获得的范围,如果您不希望div出现,请使用
ng container
查看我的更新答案。但我只有一个可观察的
范围$
。嗯,你说ng集装箱是什么意思?我是一个初学者,你能提供一个例子吗?范围是一个可观察的,使用异步过滤器将其转换为一个热可观察的,这样它可以发出数据,或者如果你感到困惑,你可以订阅存储并获得更好的数据,正如你所说的,你是一个初学者,你应该采取一些小步骤。关于ohh的更多信息对不起,我完全忘记了变量,它应该是
range$
而不是
range
我的BAD请发布正确的语法。我在这里看到了
*ngif=“range$| async)”
至少有两个错误。如果您提供了最低限度的复制,这将很容易为您提供帮助。我在Plunker@yurzui上尝试过,但我很难模拟提供数据的存储。我应该注意我是初学者。我可以帮你,只需将你的代码添加到plunker中,然后单击
Fork
range:any ;
ngOnInit() {
    this.store.select(x => x.view.range).subscribe(x => this.range = x);
}
<div *ngif="range">
  here {{ range }}
</div>