グローバルな名前空間を汚染することなく、単一ファイルのVueコンポーネントでデータプロパティを公開する最もクリーンな方法は何ですか?私のメインのエントリ・ファイル(app.js)でVue.jsサードパーティスクリプトで使用するコンポーネントデータプロパティを公開する方法は?
はVueのために、私はとても気に入りを設定しています:
import components from './components/components';
window.app = new Vue({
el: '#vue',
store,
// etc.
});
マイcomponents.js
輸入私はHTMLスニペットとして使用するすべてのコンポーネントを。これらのコンポーネントの一部は、インポートコンポーネントであり、自分自身ではroot
インスタンスのコンポーネントとして直接設定されていません。
特定の単一ファイルのVueコンポーネントの一部のデータプロパティを公開するにはどうすればよいでしょうか?
// Expose this on `Search.vue`:
data: {
// Filled with data from ajax request.
results: []
}
マイVueのインスタンスをグローバルに提供されています:
は、例えば私は、Googleアナリティクスに結果の配列から私の最初の3つのオブジェクトを送りたいSearch.vue
コンポーネントを持っています。おそらく、特定のコンポーネントに名前や何かでアクセスする簡単な方法はありますか?改善する方法について
this.$store.getters.propertyINeed
任意の提案:
編集
は、これまでのところ最良のオプションは、現在、そのようなゲッターを通じて(私は私の店の内部で利用できる持っている)私のプロパティにアクセスするようになります。これは大歓迎です。
は私があなたの代わりにVuexストアにデータを置くことができ、あなたは私はあなたが 'Vuex'を使用していると仮定している店舗を、使用して参照してください? – kevguy
そして、 'app。$ store'を使ってアクセスし、このオブジェクトのgettersプロパティを呼び出します。 –
これはそれを行う方法の1つですが、できればそれを店内で行うべきだと思っています(私はその解決策を書いています)。 – kevguy