我知道这个问题被问了很多次,但我仍然没有弄错,因为很多事情都是正确的。
我正在尝试在vue js中使用select jquery插件。 这是我的代码
mounted(){
Vue.nextTick(function () {
$('.s').select2()
//$('.form-control').css('background-color', 'red'); // This codes works perfectly
})
}
在这种情况下,我收到此错误Error in nextTick: "TypeError: $(...).select2 is not a function"
它可能是脚本的顺序。以下是我在webpack.mix.js
mix.js('resources/assets/js/adminapp.js', 'public/js/adminapp.js').version(); // This is all about vue js
mix.scripts([
'public/admin/bower_components/jquery/dist/jquery.min.js',
'public/admin/bower_components/bootstrap/dist/js/bootstrap.min.js',
'public/admin/dist/js/adminlte.min.js',
'public/admin/bower_components/select2/dist/js/select2.full.min.js', // select jquery plugin
], 'public/admin/js/all.js').version();
在我的刀片文件中,我尝试通过交换all.js
和adminapp.js
并尝试相同的结果进行测试。
另一个有趣的事情是,如果我在刀片文件中声明select2而不是像这样的vue,那就可以了。
<script type="text/javascript">
$(document).ready(function(){
//Initialize Select2 Elements
$('.s').select2()
});
但是,如果我这样使用,当在vue中浏览路由器时,我对此插件没有任何影响。仅在首次加载时。
任何想法和帮助将不胜感激。谢谢。