javascript - 为什么我的 javascript 类在 .cshtml 文件中不可见?
问题描述
我创建了一个新的 .net-core 项目,然后我添加了一个 bundleconfig.json 文件用于捆绑和缩小,我还添加了一个 package.json 文件来处理依赖项。
我将我的包包含在共享的 _Layout.cshtml 文件中,但随后我尝试在我的 Index.html 文件中初始化我的类。
所以在我的 _Layout.cshtml 文件中,我有以下几行:
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.min.js"></script>
@RenderSection("Scripts", required: false)
site.min.js 包含我的课程(Swiper)。
在我的 Index.cshtml 中,我有以下几行:
<script>
var swiper = new Swiper('.swiper-container', {
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
});
</script>
此时 Swiper 在没有明确包含的情况下未定义,但它存在于 site.min.js 中。在我将此标签的内容移动到一个 javascript 文件中后,该文件也是我的 site.min.js 的一部分,它终于开始工作了。
我不知道的脚本标签是否有任何范围?
解决方案
您需要将它们包装成Section
这样:
@section Scripts {
<script>
var swiper = new Swiper('.swiper-container', {
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
});
</script>
}
“脚本”这个名字可以是你想要的,只要它在布局中是一样的。
推荐阅读
- docker - 在 Ubuntu 虚拟机中访问 Docker 容器端口
- powershell - ISE 中的 MyInvocation.MyCommand.Path 与常规 PS
- saxon - 将大型 XML 文件(超过 3G)转换为逗号分隔文件
- java - RestTemplate Swagger 没有足够的变量值可扩展
- python - 为什么当月的第一天在 matplotlib.plot_date 中自动绘制为刻度?
- c# - 为 Identity Server 4 创建日志
- c++ - 内存中的字符数组表示
- https - 调试自托管 https 连接问题的任何好方法?
- ios - 从 UITableViewCell 到 UIViewController 的转场不起作用(准备转场未调用)
- android - 构建我的android项目时无法合并dex错误