我有一个页面将一些数据加载到模型中,并且模型的属性之一有错误消息。我有一个 js 文件来检查错误消息是否存在;如果是这样,它会显示一 strip 有消息本身的警报,如下所示:
function CheckErrMsg(model) {
if (model.CallStatusStatus() == -111) {
alert(model.CallStatusErrorMessage());
}
}
每当我完成对已加载的对象的操作时,它都会自动加载另一个对象,如果检查出新模型,那么它将再次显示警报。
我希望仅针对加载的第一个模型显示警报,因此我想我需要知道是否有办法检查该警报是否已显示,如果是,则不再显示。
最佳答案
您可以向模型添加一个 IsAlertShown
字段,然后在发出警报之前检查它:
model.IsAlertShown = ko.observable(false);
if (!model.IsAlertShown() && model.CallStatusStatus() == -111) {
model.IsAlertShown(true);
alert(model.CallStatusErrorMessage());
}
然而,就我个人而言,我不喜欢用纯粹与 UI 相关的东西“污染”我的 View 模型(通常将被发送回服务器)。所以我会将标志公开为函数本身的一部分:
if (!CheckErrMsg.IsAlertShown && model.CallStatusStatus() == -111) {
CheckErrMsg.IsAlertShown = true;
alert(model.CallStatusErrorMessage());
}
(由于在 JavaScript 中函数也是对象,因此您也可以设置函数的属性)
关于javascript - 检测我是否已经发出警报消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25164013/