2017-03-20 22 views
1

私はVue.jsを使用していて、AJAX呼び出し後に通知を表示するためにjQuery Gritterプラグインを使用しようとしています。あなたはinitGritter方法を見れば、あなたはjQueryのは、ロードされ、準備ができて、しかしグリッターがないプラグインされていることがわかりますVue.js 2 - jQueryプラグインが動作しない

import Vue from 'vue/dist/Vue'; 
import axios from 'axios'; 

window.axios = axios; 

new Vue({ 
    el: '#app', 

    data: { 
     body: '', 
     team_id: $('#team_id').val() 
    }, 

    methods: { 
     onSubmit() { 
      let self = this; 
      axios.post('/tasks', this.$data) 
       .then(function (res) { 
        self.$nextTick(function() { 
         self.initGritter(res.data); 
        }.bind(this)); 
       }) 
       .catch(function (err) { 
        console.log(err); 
       }); 

     }, 

     initGritter(data) { 
      console.log($); // object 
      console.log(jQuery); // object 
      console.log($.gritter); //undefined 

     } 
    }, 
}); 

しかし、それが定義されていないが、ここに私のmain.jsです。

コンソールで試してみると、jQuery Gritterはページが読み込まれる準備ができていますが、Vueでは動作しません。

アイデア?

答えて

0

私はこのようにしてみました。

initGritter: function(){ 
    $(function() { 
     $.gritter.add({ 
      title: 'title', 
      text: 'text', 
      class_name: 'color warning' 
     }); 
    }); 
} 
関連する問題