序文 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 でデータ テーブルを作成し、主キーと外部キーの関係を確立する方法の詳細な説明
この記事の例では、Vue の日付時刻ピッカーコンポーネントの具体的なコードを参考までに紹介します。具...
最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...
現在、多くの企業が割引コードを通じてプロモーションを行っています。今では、8桁の割引コードを実装して...
一般的なゲストブック、フォーラムなどでは、テキスト入力ボックスが使われています。これは HTML 言...
目次分離効果コマンドラインの説明関与する機能分離効果-- 別居前1,2,3,4 -- 別居後1 2 ...
目次ストレージエンジンのメモリ管理データ ページを LRU キューの先頭に置かないのはなぜですか?ダ...
これまで使用していたイメージはすべて DockerHub パブリック リポジトリから取得していました...
今日システムを再インストールした後、コンピューターに mysql を再インストールし、ZIP ファイ...
1. トップレベルの使用法1. cnpmをインストールする npm i -g cnpm --regi...
方法1: SET PASSWORDコマンドを使用する mysql -u ルート mysql> ...
目次概要Gulp.jsをインストールするGulp.jsを使用してプロジェクトを作成するgulpfil...
1.1 はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメ...
前提条件1. ローカルコンピュータとサーバーにDockerがインストールされています。ダウンロード方...
1. ダウンロードして解凍します: /Users/xiechunping/Softwares/mys...
ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...