在处理使用包含(视图和部分视图)的布局页面的 ASP.NET MVC 应用程序时,我通常在布局页面的顶部声明一个 javascript var,我在视图或部分视图中分配一个 js 匿名函数加载文档后将立即调用的视图。一旦页面从服务器返回,这样的事情和这个顺序:
<!-- top of layout page : static -->
<!-- ver jquery for bootstrap -->
<script src="@Url.Content("~/Scripts/bootstrap/jquery-1.9.1.js")" type="text/javascript"></script>
<script type="text/javascript">
//define app's js namespace
var myApp = {};
//placeholder for anon func
myApp.initLoadFunc = null;
</script>
<!-- Child View : dynamically added (or not) depending on current view -->
<script type="text/javascript">
//for this view, I want to run this on document load
myApp.initLoadFunc = function() { //do something... }
</script>
<!-- end child view -->
<!-- bottom of Layout page : static -->
<script type="text/javascript">
$(document).ready(function () {
//run init function if populated...
if (myApp.initLoadFunc != null) {
myApp.initLoadFunc();
}
});
</script>
我的问题是:如果我想在解析时定义和分配多个函数或从其他子视图添加到 anon 函数的主体而不声明额外的 var 占位符怎么办?我不想做任何不稳定的评估电话。有没有办法链式添加?我也许可以定义一个 js 数组并填充函数,但我认为有一种更简洁的方法可以完成此任务。不知何故使用“这个”?有什么解决办法吗?