2017-05-21 3 views
0

ヘッダーに物品などを展開したり取り外したりできるウェブショップとショッピングカートがあるとします。これをvueで実装するのは簡単です。完全に別のvueコンポーネントとの通信

ここでは、ページ上のどこか他のボタンを押しています(ページのどこに問題はありません) - カートを更新するにはどうすればよいですか?

つまり、任意のイベントをvueインスタンスにどのように接続すればよいですか?私は、ページ全体を膨大なビューのインスタンスにすることはうまくいくと思っていますが、それは怪しげなにおいをし、おそらくパフォーマンスに影響します。

答えて

0

私は、Vueコントロールをアプリケーションの一部にしか持たないのはフィッシーだと言いますが、あなたはVueインスタンスを外部から参照することができます。それはupdateCartというメソッドを持っており、あなたが

const vueInstance = new Vue(...); 

のようにそれを作成した場合、あなたはあなたのクリックハンドラでvueInstance.updateCart(whatever);を呼び出すことができます。

+0

ありがとうございました。 SPAに近いものではなく、ほとんどがサーバーで生成されたウェブサイトを考えているので、怪しいと思います。とにかく、メソッドは 'new Vue()'に渡されたオブジェクトの 'methods'キーの下に生きていますか? –

+0

メソッドは 'methods'をキーとして指定しますが、Vueオブジェクトではトップレベルメンバです。私は 'vueInstance.methods.updateCart'とは言いませんでした。 –

+0

はい、ありがとう! –

関連する問題