我正在将一个可观察对象绑定到我的Angular模板,并有条件地绑定以显示“ loading ..”消息,直到异步管道解析数据为止。
绑定工作正常,我正在获取数据,并且触发“ loading ..”消息,直到我获取数据为止。
<div *ngIf=" (combinedResult$ | async ) as favData ;else loading">
<p> {{ Binding Goes here}} </p>
</div>
<ng-template #loading>
loading...
</ng-template>
但是如果我通过将结果包装到“ details:”对象中来更改* ngIf,则if条件不起作用,并且我看不到“正在加载..”消息。 (但数据具有约束力。)
<div *ngIf=" { details: (combinedResult$ | async ) } as favData
;else loading">
<p> {{ Binding Goes here}} </p>
</div>
我在这里想念什么?。
答案 0 :(得分:2)
在此,router.put("/:id", middleware.isLoggedIn, middleware.isAdmin, upload.single('image'), function(req, res) {
Product.findById(req.params.id, async function(err, prod) {
if (err) {
req.flash("error", err.message);
} else {
if (req.file) {
try {
await cloudinary.v2.uploader.destroy(prod.imageId);
var result = await cloudinary.v2.uploader.upload(req.file.path);
prod.image = result.secure_url;
prod.imageId = result.public_id;
} catch (err) {
req.flash("error", err.message);
return res.redirect("back");
}
}
prod.save();
req.flash("success", "Updated Successfully");
res.redirect("/admin");
}
});
});
*ngIf="{ details: (combinedResult$ | async ) } as favData; else loading"
始终计算为true,因为它不是条件,而是赋值。
因此它永远不会显示加载,因为ngIf总是评估为 true