ピニアとは何ですか? Vueでどうやって使うの?
ピニアとは何ですか?ピニアを使用する理由この記事では、pinia の紹介と、pinia の基本的な使い方を例を交えて紹介しますので、お役に立てれば幸いです。
ピニアとは何ですか?
Pinia は元々、 Composition API を使用して Vue ストアの外観を再設計するための 2019 年 11 月頃の実験でした。それ以降、元の原則は同じですが、Pinia は Vue 2 と Vue 3 の両方で動作し、コンポジション API を使用する必要はありません。 と SSR のインストールを除けば、両方の API は同じであり、ドキュメントは Vue 3 に固有であり、 では Vue 2 と SSR に必要な箇所に Vue 2 に関するメモが記載されています。 Vue 3ユーザーなら読める! [関連する推奨事項: vue.js ビデオ チュートリアル
]Ponia を使用する理由
Pinia は、コンポーネント/ページ間で状態を共有できる Vue のリポジトリです。 ç これは単一ページ アプリケーションの場合に当てはまりますが、サーバー側でレンダリングされる場合、 アプリケーションがセキュリティの脆弱性にさらされることになります。
ただし、単一ページの小さなアプリケーションであっても、Ponia を使用すると多くのメリットが得られます。-
開発ツールはアクションの追跡をサポートします。突然変異タイムライン
- ストアは、それを使用するコンポーネントに表示されます
- タイムトラベルとデバッグの容易化
ホット モジュールの交換 -
- 開発中に既存の状態を維持します
プラグイン: プラグインを使用して Ponia の機能を拡張します - JS ユーザーに適切な TypeScript サポートを提供する、または
- オートコンプリート機能を提供する
#サーバー側レンダリングのサポート
# #基本的な例
API 的には pinia を使用すると次のようになります (完全な手順については、
を必ず確認してください)。まずストアを作成します:
// stores/counter.js import { defineStore } from 'pinia' export const useCounterStore = defineStore('counter', { state: () => { return { count: 0 } }, // could also be defined as // state: () => ({ count: 0 }) actions: { increment() { this.count++ }, }, })
それからコンポーネント で それを使用します:
import { useCounterStore } from '@/stores/counter' export default { setup() { const counter = useCounterStore() counter.count++ // with autocompletion ✨ counter.$patch({ count: counter.count + 1 }) // or using an action instead counter.increment() }, }
また、関数を使用することもできます (コンポーネント setup( ) ) より高度なユースケース向けにストアを定義するには:
export const useCounterStore = defineStore('counter', () => { const count = ref(0) function increment() { count.value++ } return { count, increment } })
まだ setup()
Composition API に慣れていない場合でも、心配しないでください。Ponia はVuex
##Map Assistant
の同様のセット。ストレージも同じ方法で定義しますが、mapStores()、mapState()、または mapActions()
を使用します。各 マップ アシスタントの詳細については、「コア コンセプト」を参照してください。
ピニア (英語の「ピーニャ」のように
/piːnjʌ/と発音) が最も近いです piña (スペイン語では
pineapple)。これは有効なパッケージ名です。パイナップルは、実際には個々の花が集まって複数の果実を形成するグループです。店舗と同じように、それぞれが独立して生まれますが、最終的にはすべてがつながっています。南米原産のおいしいトロピカルフルーツでもあります。 より現実的な例これは、JavaScript でも Ponia の型を使用する API のより完全な例です。人によっては、これ以上読まなくても十分に始めることができるかもしれませんが、ドキュメントの残りの部分を確認するか、この例をスキップして
をすべて読むことをお勧めします。
const useCounterStore = defineStore('counter', { state: () => ({ count: 0 }), getters: { double: (state) => state.count * 2, }, actions: { increment() { this.count++ } } }) const useUserStore = defineStore('user', { // ... }) export default { computed: { // other computed properties // ... // gives access to this.counterStore and this.userStore ...mapStores(useCounterStore, useUserStore) // gives read access to this.count and this.double ...mapState(useCounterStore, ['count', 'double']), }, methods: { // gives access to this.increment() ...mapActions(useCounterStore, ['increment']), }, }
Vuex との比較Pinia は、できる限り Vuex の哲学に近づけようとしています。これは、Vuex の次のイテレーションに向けた提案をテストするように設計されており、現在、Ponia が使用するものと非常によく似た API を備えた Vuex 5 のオープン RFC が存在するため、成功しました。 Pinia の作者である私 (Eduardo) は Vue.js コア チームの一員であり、Router や Vuex などの API の設計に積極的に参加していることに注意してください。このプロジェクトにおける私の個人的な意図は、Vue の親しみやすい哲学を維持しながら、グローバル ストアの使用体験を再設計することでした。私は、人々が Vuex に移行しやすく、将来的には 2 つのプロジェクト (Vuex の下で) をマージしやすくするために、Ponia の API を Vuex にできるだけ近づけて前進し続けます。 Vuex は RFC を通じてコミュニティから可能な限り多くのフィードバックを収集しますが、Ponia は収集しません。私は、アプリの開発、他の人のコードの読み取り、Pinia を使用したクライアントでの作業、Discord での質問への回答などの経験に基づいてアイデアをテストします。これにより、さまざまな状況やアプリケーションの規模にわたって機能する効率的なソリューションを提供できるようになります。私は頻繁にリリースし、コア API を変更せずにライブラリを進化させ続けます。 Vuex 3.x は Vuex の Vue 2 であり、Vuex 4.x は Vuex 3 Ponia API は Vuex ≤4 とは大きく異なります。つまり、 既存の Vuex ≤4 プロジェクトを変換して Pinia を使用する方法の詳細については、Vuex からの移行ガイドを参照してください。 プログラミング関連の知識について詳しくは、プログラミング入門をご覧ください。 ! RFC
Vuex 3.x/4.x
以上がピニアとは何ですか? Vueでどうやって使うの?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

Vue.jsでは、Lazy Loadingを使用すると、コンポーネントまたはリソースを必要に応じて動的にロードすることができ、初期ページの読み込み時間を短縮し、パフォーマンスを改善できます。特定の実装方法には、< Keep-Alive>および<コンポーネントは>コンポーネント。怠zyなロードは、FOUC(スプラッシュ画面)の問題を引き起こす可能性があり、不必要なパフォーマンスのオーバーヘッドを避けるために怠zyなロードが必要なコンポーネントにのみ使用する必要があることに注意してください。

HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを< div>をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 < script>でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes< router-link to ="/" Component Window.history.back()、およびメソッド選択はシーンに依存します。
