我使用一些Vue组件和一个Bootstrap组件(轮播)创建了一个简单的应用程序。
我使用Laravel Mix编译我的资产。当我将编译好的app.js放在head标签之间时,我的Vue组件不起作用(Cannot find element: #app
)。当我将app.js放在</body>
标记之前时,我的轮播(indicators)无效...我也尝试使用defer
属性,但没有成功。我是否必须拆分我的JavaScript文件才能使它们都工作?
编辑:
当我将资源放在</body>
标记之前时,轮播的指示符如下所示:<="" li="">
答案 0 :(得分:2)
通常,在结束</body>
标记之前。
<script type="text/javascript" src="/js/app.js"></script>
如果您有其他特定于bootstrap的js代码,则必须在上述脚本标记之后编写它们,因为app.js
还负责在resources/assets/js/bootstrap.js
文件中加载bootstrap所需的js文件。 / p>
答案 1 :(得分:1)
消息Cannot find element: #app
并不意味着,vue不起作用。这意味着,Vue.js已正确安装,但找不到ID为app
的任何div:
<div id="app"></div>
要包含js文件,我建议使用asset()
帮助程序:
<script type="text/javascript" src="{{ asset('js/app.js') }}"></script>