我正在尝试掌握 ClientDependency Framework 的窍门。 https://github.com/Shazwazza/ClientDependency 我在 Umbraco 网站中使用它。
我遇到了一些我想运行的自定义 javascript(不在文件中)的问题。
我想运行一个函数(在“functions.js”中),但每页使用不同的参数。
因此,我将以下内容添加到我的模板中:
Html.RequireJs("~/scripts/functions.js", 1);
在我添加的 -tag 之前的母版页上:
@Html.RenderJsHere()
但是我在哪里放置我的函数调用?我不能只将它添加到我的模板中,因为“functions.js”尚未加载(它位于我的母版页底部)。
我考虑过为每个调用创建一个 js 文件并将它们添加到 Html.RequireJs(...) 但这不是一个很好的解决方案。
有没有办法将内联脚本添加到“JS-to-render”列表中?
编辑:我只是想使用 RenderSection() 让它工作,但是当在宏上定义该部分时,这似乎不起作用?
编辑:在我输入这个的那一刻,我没有这里的代码,但想法是这样的:
函数.js
function WriteToConsole(input) {
console.log('Log', input);
}
模板1.cshtml
@{Html.RequireJs("functions.js");}
<script>
WriteToConsole("This is from template 1");
</script>
模板2.cshtml
@{Html.RequireJs("functions.js");}
<script>
WriteToConsole("This is from template 2");
</script>
大师.cshtml
<body>
@RenderBody()
@Html.RenderJsHere()
</body>
只是想知道我正在尝试做什么。可以想象,<script>
我的模板上的部分现在被functions.js
包括在内之前被调用。这会导致错误。
还是我处理这整件事错了?