2017-05-22 16 views
1

vue2でブートストラップカラーピッカープラグインを使用しようとしています。私はthatのようなものを行う方法を示す次のチュートリアルを読んでいます。ここでvueテンプレートからカラーピッカー機能を見つけることができません

は私のコンポーネントのコードです:私はこのようなJavaScriptから直接呼び出す場合

<template> 
    <div class="input-group colorpicker-component"> 
     <input type="text" value="#b8c7ce" class="form-control"/> 
     <span class="input-group-addon"><i></i></span> 
    </div> 
</template> 

<script> 
    export default { 
     mounted: function() { 
      $(this.$el).colorpicker() 
     }, 
    } 
</script> 

https://itsjavi.com/bootstrap-colorpicker/ カラーピッカーが正常に動作します:

$('#sidebar_font_color').colorpicker() 

しかし、私はこの

<color-picker></color-picker> 
を行うとき

コンソールでこれを取得します:

[Vue warn]: Error in mounted hook: "TypeError: $(...).colorpicker is not a function"

さまざまな点で私のアプリケーションでいくつかのvue2を使用している完全なSPAアプリケーションを作っているわけではありません。なぜその機能を見つけることができないのでしょうか?

+1

あなたはjQueryと、プロジェクト内のプラグインコードを含む方法を表示します。 –

+0

私はそれらを以下の答えのように表示しました、その方法は私のためには機能しませんでした、私はこのようにそれらを含める必要がありましたBootstrapColorPicker 'bootstrap-colorpicker'内のApp.vue内で、 –

+0

ドキュメントは 'input'タグで' .colorpicker() 'を呼び出さなければならないことを示しています。あなたは 'div'であるルート要素でそれを呼び出しています。それを 'input'で呼び出してみてください。 –

答えて

1

ここには最小の実例があります。エラーメッセージは、mountedが実行されたときにロードされたカラーピッカーコードがないことを示します。または、カラーピッカーコードの前にjQueryがロードされていない可能性があります。

new Vue({ 
 
    el: '#app', 
 
    components: { 
 
    colorPicker: { 
 
     template: '#cp-template', 
 
     mounted() { 
 
     $(this.$el).colorpicker() 
 
     }, 
 
    } 
 
    } 
 
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-colorpicker/2.5.1/css/bootstrap-colorpicker.min.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-colorpicker/2.5.1/js/bootstrap-colorpicker.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.3/vue.min.js"></script> 
 
<div id="app"> 
 
    <color-picker></color-picker> 
 
</div> 
 

 
<template id="cp-template"> 
 
    <div class="input-group colorpicker-component"> 
 
     <input type="text" value="#b8c7ce" class="form-control"/> 
 
     <span class="input-group-addon"><i></i></span> 
 
    </div> 
 
</template>

+0

strange私はまったく同じファイルを持っていましたが、動作させることができませんでした。これは、私のvue App.vueファイル内にbootstra-colorpickerを組み込むことだけです。このように、bootstrapColorPickerは 'bootstrap-colorpicker 'それは働いた –

関連する問題