序文 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 でデータ テーブルを作成し、主キーと外部キーの関係を確立する方法の詳細な説明
Grid は 2 次元のグリッド レイアウト システムです。これを使用すると、本質的にはハック メソ...
いつものように、まずは画像効果を投稿しましょう: このエフェクトの原理は非常にシンプルです。CSS3...
HTML5 で contentEditable 属性が導入されて以来、div は textarea ...
目次MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法1. 非同...
パート 1 HTML <html> -- 開始タグ<ヘッド>ウェブページ上の...
1. 前の章では、プログラムを yum リポジトリに直接インストールできることを学びましたが、そのた...
ハートの属性不透明度: .999 は要素のスタッキングコンテキストを作成し、ボタン6と8のアニメーシ...
Object.definePropertyの理解文法:オブジェクト.defineProperty(o...
MySQLとElasticsearch間のデータ非対称性問題の解決策jdbc-input-plugi...
高可用性 Web クラスターを実現する Keepalived+Nginx+Tomcat 1. Ngi...
目次要約する要約する配列が変更されると、対応するデータを動的にロードしますシナリオ: 異なるコンポー...
目次クラスコンポーネント機能コンポーネントsetStateの落とし穴React では多くの場所でデー...
目次1. ルーティング構成2. Vueページのネスト3. ネストされた関係1. ルーティング構成 定...
<br />関連記事: Facebookの情報アーキテクチャの分析 元記事: http:...
序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...