我正在使用MVC模型设置NET.ASP应用程序,并且遇到了激活已在Razor页面中编写的功能的问题,需要在页面加载后将其激活。计算。 在这种情况下,我的模型将在后台获取并解析一些数据,JavaScript需要等待这些数据完成。 目标是使用这些数据来构建一个展示它的列表。
我非常确定,除非我有办法从模型中触发已经在页面中编写的脚本,否则我将不得不在页面加载时编写并激活一个JavaScript函数,该函数将定期检查model设置为true,如果是,则激活相关的数据加载功能。 问题是,何时-是否可以通过模型触发脚本?
不幸的是,我遇到的这个问题的每种解决方案都是针对Web窗体的,或者是以某种方式使用控件的。
代码如下:
<html>
<head>
<script type="text/javascript" language="javascript">
function showDataMined()
{
// Do things
}
function checkDataReady()
{
// Sleep for 3 seconds then if Model.dataReady call showDataMined()
// Is this really the best practice?
}
</script>
</head>
<body>
// Stuff
</body>
</html>
我只是想在模型准备好被调用时调用showDataMined。 有没有一种方法可以在不定期检查布尔值的情况下执行此操作?也许以某种方式使用观察者模式?
答案 0 :(得分:0)
将其扔到IIFE(“ iffy”)中。 IIFE是立即调用的函数表达式。它基本上会自动调用自身。.因此,最后的()
(function(){
function showDataMined()
{
// Do things
}
function checkDataReady()
{
// Sleep for 3 seconds then if Model.dataReady call showDataMined()
}
})();