名前空間の扱い方について少し混乱しています。
私のサイトのすべてのページのレイアウトを定義する私のマスターページには、次のものがあります。
<script type="text/javascript">
</script>
@Scripts.Render("~/bundles/theme")
@Scripts.Render("~/bundles/common")
@Scripts.Render("~/bundles/layout")
@Scripts.Render("~/bundles/user")
レイアウトバンドル内の唯一のスクリプトは次のとおりです。
$(document).ready(function () {
"use strict";
addAjaxControls();
addAccessControls();
addBodyControls();
addContentControls();
addThemeControls();
if (localStorage.getItem('Sidebar')) {
var sidebar = localStorage.getItem('Sidebar');
setSidebar(sidebar);
}
if (localStorage.getItem('Theme')) {
var theme = localStorage.getItem('Theme')
setTheme(theme);
}
});
私は物事を明確に定義したいので、次のようなものを追加するのは合理的で良い考えです:
<script type="text/javascript">
var Layout = Layout || {};
</script>
@Scripts.Render("~/bundles/theme")
@Scripts.Render("~/bundles/common")
@Scripts.Render("~/bundles/layout")
@Scripts.Render("~/bundles/user")
そして私のlayout.jsで:
$(document).ready(function () {
"use strict";
addAjaxControls();
addAccessControls();
addBodyControls();
addContentControls();
addThemeControls();
if (localStorage.getItem('Sidebar')) {
var Layout.sidebar = localStorage.getItem('Sidebar');
setSidebar(Layout.sidebar);
}
if (localStorage.getItem('Theme')) {
var Layout.theme = localStorage.getItem('Theme')
setTheme(Layout.theme);
}
});