序文 You Dada の GitHub を開いてみたら petite-vue というものを発見。おお、まだ Vue3 と Vite の学習が終わっていないのに、新しいものを開発し始めているなんて。死ぬまで学ぶ姿勢で、これが何なのか見てみましょう。何しろ、彼は私たちの先祖ですから! 導入名前からわかるように、petite-vue は vue のミニバージョンであり、サイズはわずか 5.8kb と非常に小さいと言えます。 You Dada によれば、petite-vue はプログレッシブエンハンスメントに最適化された Vue の代替ディストリビューションです。標準の Vue と同じテンプレート構文とレスポンシブ モデルを提供します。
ライブ以下は、petite-vue の使い方の紹介です。 使いやすい<本文> <script src="https://unpkg.com/petite-vue" 初期化を延期する></script> <div v-scope="{ カウント: 0 }"> <button @click="count--">-</button> <span>{{ カウント }}} <button @click="count++">+</button> </div> </本文> スクリプト タグを介してインポートし、同時に init を追加すると、v-scope を使用してデータをバインドできるため、単純なカウンターが実現されます。 Alpine.js フレームワークに精通している人にとっては、この 2 つの構文は非常に似ているため、馴染みがあるかもしれません。 <!-- Alpine.js --> <div x-data="{ 開く: false }"> <button @click="open = true">ドロップダウンを開く</button> <ul x-show="開く" @click.away="開く = false"> ドロップダウン本文 </ul> </div> init メソッドを使用するだけでなく、次のメソッドも使用できます。 <本文> <div v-scope="{ カウント: 0 }"> <button @click="count--">-</button> <span>{{ カウント }}} <button @click="count++">+</button> </div> <!-- 本文の下部に配置します --> <script src="https://unpkg.com/petite-vue"></script> <スクリプト> PetiteVue.createApp().マウント() </スクリプト> </本文> または ES モジュールを使用します: <本文> <スクリプトタイプ="モジュール"> 'https://unpkg.com/petite-vue?module' から {createApp} をインポートします。 作成App().マウント() </スクリプト> <div v-scope="{ カウント: 0 }"> <button @click="count--">-</button> <span>{{ カウント }}} <button @click="count++">+</button> </div> </本文> ルートスコープcreateApp 関数は、通常のデータやメソッドの使用方法と同様にオブジェクトを受け入れることができますが、v-scope では値をバインドする必要はありません。 <本文> <スクリプトタイプ="モジュール"> 'https://unpkg.com/petite-vue?module' から {createApp} をインポートします。 作成App({ カウント: 0, インクリメント() { this.count++ }, 減算() { this.count-- } })。マウント() </スクリプト> <div v-スコープ> <button @click="decrement">-</button> <span>{{ カウント }}} <button @click="増分">+</button> </div> </本文> マウント要素の指定<本文> <スクリプトタイプ="モジュール"> 'https://unpkg.com/petite-vue?module' から {createApp} をインポートします。 作成アプリ({ カウント: 0 }).mount('#app') </スクリプト> <div id="アプリ"> {{ カウント }} </div> </本文> ライフサイクル各要素のライフサイクルイベントをリッスンできます。 <本文> <スクリプトタイプ="モジュール"> 'https://unpkg.com/petite-vue?module' から {createApp} をインポートします。 作成アプリ({ onMounted1(el) { console.log(el) // <span>1</span> }, onMounted2(el) { console.log(el) // <span>2</span> } }).mount('#app') </スクリプト> <div id="アプリ"> <span @mounted="onMounted1($el)">1</span> <span @mounted="onMounted2($el)">2</span> </div> </本文> コンポーネントpetite-vue では、関数を使用してコンポーネントを作成し、テンプレートを通じて再利用できます。 <本文> <スクリプトタイプ="モジュール"> 'https://unpkg.com/petite-vue?module' から {createApp} をインポートします。 関数 Counter(props) { 戻る { $template: '#counter-template', カウント: props.initialCount、 インクリメント() { this.count++ }, 減算() { this.count++ } } } 作成App({ カウンタ })。マウント() </スクリプト> <テンプレート id="カウンターテンプレート"> <button @click="decrement">-</button> <span>{{ カウント }}} <button @click="増分">+</button> </テンプレート> <!-- 再利用 --> <div v-scope="カウンター({ 初期カウント: 1 })"></div> <div v-scope="カウンター({ 初期カウント: 2 })"></div> </本文> グローバル状態管理リアクティブAPIを使用すると、グローバルな状態管理を簡単に作成できます。 <本文> <スクリプトタイプ="モジュール"> 'https://unpkg.com/petite-vue?module' から {createApp, reactive} をインポートします。 constストア = リアクティブ({ カウント: 0, インクリメント() { this.count++ } }) //カウントを1増やす ストア.増分() 作成App({ 店 })。マウント() </スクリプト> <div v-スコープ> <!-- 出力 1 --> <span>{{ ストア.count }}</span> </div> <div v-スコープ> <button @click="store.increment">+</button> </div> </本文> カスタムディレクティブここでは、入力ボックスの自動フォーカスのためのコマンドを簡単に実装します。 <本文> <スクリプトタイプ="モジュール"> 'https://unpkg.com/petite-vue?module' から {createApp} をインポートします。 定数autoFocus = (ctx) => { ctx.el.focus() } createApp().directive('auto-focus', autoFocus).mount() </スクリプト> <div v-スコープ> <v-オートフォーカスを入力 /> </div> </本文> 組み込みの指示
注意: v-for はキーを必要とせず、v-for は深い分割をサポートしていません。 <本文> <スクリプトタイプ="モジュール"> 'https://unpkg.com/petite-vue?module' から {createApp} をインポートします。 作成App({ ユーザーリスト: [ { 名前: '张三', 年齢: { a: 23, b: 24 } }, { 名前: 'Li Si'、年齢: { a: 23、b: 24 } }、 { 名前: '王五'、年齢: { a: 23、b: 24 } } ] })。マウント() </スクリプト> <div v-スコープ> <!-- サポート --> <li v-for="{ 年齢 } をユーザーリストに追加"> {{ 年齢.a }} </li> <!-- サポートされていません --> <li v-for="{ 年齢: { a } } ユーザーリスト内"> {{a}} </li> </div> </本文> サポートされていませんより軽量かつコンパクトにするために、petite-vue は以下の機能をサポートしていません。
要約する上記は petite-vue の簡単な紹介と使用方法です。さらに新しい発見があるかどうかはあなた次第です。 一般的に、petite-vue は Vue の基本的な機能をいくつか保持しているため、Vue 開発者は無料で使用できます。以前は、小さくてシンプルなページを開発するときに Vue を参照したい場合、パッケージのサイズが原因で諦めることが多かったのですが、今では petite-vue の登場により、この状況が救われるかもしれません。結局のところ、petite-vue のサイズは本当に小さく、わずか 5.8kb で、Alpine.js の約半分です。 Youdadaの新しいpetite-vueの実装に関するこの記事はこれで終わりです。vue petite関連のコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Ubuntu 18.04の下のディレクトリにディスクをマウントします
>>: MySQL でデータ テーブルを作成し、主キーと外部キーの関係を確立する方法の詳細な説明
最近 Linux をいじっていたので、nginx の新しいバージョンをインストールしたいと思いました...
1. JSON.stringify() と JSON.parse() の違い私たちは皆、JSON.s...
この記事には、細かい点は一切なく、カラーマッチングのテクニックをシェアするだけです。とてもシンプルで...
目次1. はじめに2. データを消去するいくつかの方法2.1 ref() の使用2.2 スライスの使...
ページレイアウトは、Web ページを扱い始めた頃からずっと気にかけていたことです。初期のテーブル構造...
初めてwampをインストールした後、すべてのサービスが正常に使用できますが、再起動するとwampのア...
WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...
1. 親コンポーネントは props を使用して子コンポーネントにデータを渡すことができます。 2....
目次1. 解凍コマンド1.1 構文1.2 オプション2. 例1. 解凍コマンドunzip コマンドは...
目次概要延長は必要ですか?スロットJavaScript ユーティリティ関数拡張コンポーネントの複数の...
1. システム構成1. sudoパスワードをオフにするsudo コマンドを使用するたびにパスワード...
1. Windows 版の Docker をインストールしたら、Docker クイックスタート ター...
ステップ1: ディレクトリに入ります: cd /etc/mysql、debian.cnfファイルを表...
目次1. MySQL で現在の時刻を表現するにはどうすればよいでしょうか? 2. TIMESTAMP...
次のコードは、私の test.html にあります。ビデオは、c:\test.html などの絶対パ...