伝説的な VUE 構文シュガーは何をするのでしょうか?

伝説的な VUE 構文シュガーは何をするのでしょうか?

1. 糖衣構文とは何ですか?

構文糖は、砂糖で覆われた文法とも訳され、イギリスのコンピューター科学者ピーター・J・ランディンによって発明された用語です。これは、コンピュータ言語に追加された一種の構文を指します。機能に影響を与えずに、いくつかの簡単な構文を追加することでも効果が得られます。この構文はコンピュータには影響しませんが、プログラマーにとっては便利です。通常、追加された構文シュガーはプログラマーの可読性を高め、エラーの可能性を減らします。

構文糖衣を使用すると、コードが簡素化され、プログラマーによる開発が容易になります。

2. VUE の構文糖とは何ですか?

1. 最も一般的な構文シュガーvモデル

v-model を使用すると双方向のデータバインディングを実現できますが、どのように実現するのでしょうか?

v-model がデータにバインドされると、データがバインドされるだけでなく、入力イベントであるイベント リスナーも追加されます。

使用例:

// 構文糖 <input type="text" v-model="name" >
  
  //次の例に復元します <input type="text" 
 v-bind:value="名前" 
 v-on:input="name=$event.target.value">

入力が行われると、input イベントがトリガーされ、input イベントによって現在の値が value に割り当てられます。これが、v-model が双方向バインディングを実現できる理由です。

2. v-bindの糖衣構文

v-bind は動的な属性を追加するために使用されます。src、href、class、style、title などの一般的な属性はすべて、v-bind を通じて動的な属性値を追加できます。

v-bindの構文糖はv-bindを削除してコロン(:)に置き換えることです。

// 構文シュガー <div :title="title">
 <img :src="url" alt="">
 <a :href="link" rel="external nofollow" rel="external nofollow" >糖衣構文はありません</a>
</div>

// 構文シュガーなし <div v-bind:title="title">
 <img v-bind:src="url" alt="">
 <a v-bind:href="link" rel="external nofollow" rel="external nofollow" >シンタックスシュガーなし</a>
</div>

3. v-onの糖衣構文

v-on はイベント リスナーをバインドします。v-on の構文糖は @ と省略されます。

ケース 1: メソッドがパラメータを渡さない場合、括弧は必要ありません。

<button @click="btn">シンタックスシュガー</button>

<button v-on:click="btn">シンタックスシュガーなし</button>

// メソッド自体にパラメータがある場合、ネイティブ イベントのイベント パラメータがデフォルトのメソッドによって渡されることに注意してください:{
 btn(イベント){
  console.log( 'イベント' , イベント )
 }
}

ケース 2: パラメータを渡す必要がある場合は、イベント パラメータも必要になります。

<button @click="btn('click event', $event)">シンタックスシュガー</button>

//$event イベントはブラウザ イベント オブジェクト メソッドを取得することに注意してください: {
 btn( タイプ、イベント ){
  console.log('type', type) //イベントをクリックconsole.log('event', event)
 }
}

4. 修飾語

修飾子はピリオドで示される特殊な接尾辞です。 v-on の後の修飾語も構文糖衣です。

例: リンクにクリック イベントを追加しますが、クリック後にリダイレクトしないようにします。

// シンタックスシュガー <a href="http://www.baidu.com" rel="external nofollow" rel="external nofollow" @click.prevent="go">Baidu</a>

//通常の文章 <a href="http://www.baidu.com" rel="external nofollow" rel="external nofollow" v-on:click="go">Baidu</a>
方法:{
 行く(e){
  e.preventDefault();
  console.log('リンクジャンプを防ぐ')
 }
}

prevent 修飾子は、デフォルトのイベントを防止します。送信の場合も同様です。

<form @submit.prevent="onSubmit"></form>

以下は、上記の .prevent と同じように使用される一般的な修飾子です。

  • .stop はイベントのバブリングを停止するために使用されます。
  • .once イベントは 1 回だけ発生します。
  • .self イベントはイベント自体でのみトリガーされ、内部からはトリガーできません。
  • .enter | .tab | .delete | .esc ..... キーボード修飾子
  • .ctr | .alt | .shift | .meta システム修飾子

    5. ダイナミック CSS

    v-bind を使用すると、スタイルまたはクラスを通じて動的なスタイルを追加できます。

    //hello をクリックすると、テキストが赤と黒に切り替わります<h1 @click=" changeColor = !changeColor " :style="{color:changeColor?'red':'black'}">
     こんにちは</h1>
    
    データ:{
      色を変更:false
    }

    6. レジスタコンポーネント構文シュガー

    いわゆる登録コンポーネント構文シュガーは、コンポーネント コンストラクターの定義を省略し、コンポーネント コンストラクター オブジェクトを登録コンポーネント関数に直接渡すことを意味し、これにより CPU のスケジュールとメモリの割り当てが削減されます。

    グローバルコンポーネントの使用:

    //グローバルコンポーネント構文シュガー Vue.component(
      'my-component' 、 
      テンプレート:`
      	<div>コンポーネントコンテンツ</div>
      `)
    
    /* グローバルコンポーネントの登録 */
    //コンポーネントは <my-component></my-component> を使用します
    //コンポーネントを登録する const myComponent = Vue.extend({
     テンプレート:`
      <div>
       <h2>ヴウケ</h2>    
      </div>
      `
    })
    Vue.component('myComponent', myComponent)

    ローカルコンポーネントの使用:

//グローバルコンポーネント構文のシュガーコンポーネント:{
  'my-component':{
  	テンプレート:`<div>コンポーネントコンテンツ</div>`
  }
}

/* ローカルコンポーネントの登録*/
//コンポーネントを登録する const myComponent = Vue.extend({
 テンプレート:`
  <div>
   <h2>ヴウケ</h2>    
  </div>
  `、
  コンポーネント:{
  	子供:{
     テンプレート:`<div>サブコンポーネントコンテンツ</div>`
    }
  }
})
Vue.component('myComponent', myComponent)

伝説の VUE「シンタックスシュガー」とは何かについての記事はこれで終わりです。より関連性の高い VUE シンタックスシュガーのコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。皆様、今後とも 123WORDPRESS.COM を応援してください。

以下もご興味があるかもしれません:
  • vue3 の defineProps で ref responsiveness を使用すると失敗する理由の詳細な説明
  • 強くお勧めします! Vue 3.2 でシンタックスシュガーを設定する
  • Vue3.0 構文糖衣における defineProps と defineEmits の分析

<<:  ノードをMySQLデータベースに接続する際に発生する問題と解決策

>>:  Idea で Tomcat のソースコードデバッグを開始し、デバッグのために Tomcat に入る方法

推薦する

ウェブサイトメンテナンスページのリスト構築のヒント

また、多くの場合、メンテナンスのために Web サイトを少なくとも数分間オフラインにする必要がありま...

Vue はトークンの有効期限が切れると自動的にログインページにジャンプする機能を実装します

このプロジェクトは最近テストされ、テスターから、トークンの有効期限が切れたため、ルートが自動的にログ...

Linux 最速のテキスト検索ツール ripgrep (grep の最良の代替)

序文テキスト検索ツールといえば、Linux で最も便利でよく使われるツールの 1 つである grep...

MySQLトランザクションを実行するための構文とプロセスの詳細な説明

概要: MySQL は、トランザクションをサポートするためにさまざまなストレージ エンジンを提供しま...

ネイティブ JavaScript 継承方法とその長所と短所の詳細な説明

目次序文プロトタイプ継承アドバンテージ欠点コンストラクタの継承アドバンテージ欠点組み合わせ継承寄生的...

MySql のサブクエリ内のクエリ例の詳細な説明

北西を見ると私の故郷はどこにあるでしょうか。南東の満月を何度見たことがあるでしょうか。月が再びゆっく...

10分でDockerを使ったマイクロサービスのデプロイ方法を学ぶ

Docker は 2013 年のリリース以来、広く注目され、ソフトウェア業界を変える可能性を秘めてい...

JavaScript のクロージャの問題の詳細な説明

クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...

JavaScriptプロトタイプチェーンの詳細な説明

目次1. コンストラクタとインスタンス2. プロパティプロトタイプ3. プロパティ __proto_...

Alibaba CloudにMySQLをインストールする方法の詳細な説明

軽量のオープンソース データベースである MySQL は、エンタープライズ レベルのアプリケーション...

CSS マージンの重複とその防止方法

2 つ以上のブロックレベル ボックスの垂直に隣接するエッジが重なり合っています。結果として得られる境...

Vue でカスタムパスのエイリアスを設定する方法

Vue でカスタム パス エイリアスを設定する方法日常の開発では、モジュールやコンポーネントをインポ...

IE8 ベータ 1 には注意が必要な 2 つの領域があります

<br />関連記事: Web スキル: 複数の IE バージョンを共存させるソリューシ...

vsftpd ユーザーが ssh 経由でログインすることを禁止する方法

序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...

Tomcat Nativeを使用してTomcat IO効率を向上させる方法の詳細な説明

目次導入Tomcatへの接続方法APR と Tomcat ネイティブtomcat で APR を使用...