序文通常のプログラミングでは、ほとんどの場合、HTML はテンプレートを通じて作成されます。ただし、特殊なケースでは、テンプレート方式ではニーズを十分に満たすことができません。このとき、操作するには JavaScript プログラミング スキルが必要です。この時点で、レンダリング機能がその威力を発揮します。 レンダリングの役割公式サイトのサンプルエントリー 公式サイトのこの例では、solt を通じて h1-h6 タグに同じ内容を入れるためにコンポーネントが使用されています。従来の方法を使用すると、コードが長くなるだけでなく、タイトルの各レベルに Vue.component('アンカー付き見出し', { レンダリング: 関数 (createElement) { 要素の作成を返す( 'h' + this.level, // タグ名 this.$slots.default // 子ノード配列) }, 小道具: { レベル: タイプ: 数値、 必須: true } } }) レンダリング関数の役割は、シーン内のテンプレートによって実装されたコードが長くて扱いにくく、繰り返しが多い場合に、コードを大幅に簡素化することです。 レンダリング機能の説明レンダリング関数を使用する場合、createElement パラメータが使用されます。この createElement パラメータも本質的には関数であり、Vue で仮想 DOM を構築するために使用されるツールです。 createElement を見てみましょう。 createelement メソッドには、次の 3 つのパラメーターがあります。 createEement(, {}, []) を返します 1. 最初のパラメータ(必須パラメータ): 主に DOM で HTML コンテンツを提供するために使用されます。タイプは文字列、オブジェクト、または関数です。 2. 2 番目のパラメータ (オブジェクト タイプ、オプション): この DOM 内の渡されたコンポーネントのスタイル、属性、パラメータ、バインディング イベントなどを設定するために使用されます。 3. 3 番目のパラメータ (型は配列、配列要素の型は VNode、オプション): 主に、新しく追加されたその他のコンポーネントなどの配布コンテンツを設定するために使用されます。 注意: コンポーネントツリー内のすべてのvnodeは一意である必要があります createElement パラメータを渡すと、仮想ノードが作成され、そのノードがレンダリングに返されます。 一般的に、レンダリング機能の本質は仮想ノードを作成することです。 レンダリングとテンプレートの違い類似点: 違い:
注意: テンプレートとレンダリングは一緒に使用できません。そうしないと無効になります。 レンダリング例たとえば、共通のボタン コンポーネントのセットを一度にカプセル化すると、ボタンには 4 つのスタイル (成功、エラー、警告、デフォルト) が設定されます。 テンプレートメソッドは次のとおりです。 <div class="btn btn-success" v-if="type === 'success'">{{ text }}</div> <div class="btn btn-danger" v-else-if="type === 'danger'">{{ text }}</div> <div class="btn btn-warning" v-else-if="type === 'warning'">{{ text }}</div> ボタンの数が少ない場合はこれで問題ありませんが、ボタンの数が増えると非常に長くなります。このとき、レンダリング機能が必要になります。 状況に応じてボタンDOMを生成する レンダリング機能を使用する前に、テンプレート タグを削除し、ロジック レイヤーのみを保持する必要があります。 クラスは渡された型を通じて動的に入力され、コンテンツは inderText を通じて DOM に追加されます。 レンダリング(h) { h('div', { を返す クラス: { ボタン: 真、 'btn-success': this.type === 'success'、 'btn-danger': this.type === 'danger'、 'btn-warning': this.type === 'warning' }, domProps: { 内部テキスト: this.text }, の上: { クリック: this.handleClick } }); }, 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: HTMLはマーキーを使用してテキストを左右にスクロールします
>>: CSSアニメーション効果アニメーションの一般的なスタイル
この記事は主に、Nginx 7 層負荷分散のいくつかのスケジューリング アルゴリズムを紹介します。こ...
Python8のインストールを最小化した後、Python3.8.1をインストールしました。オンライン...
1: dockerにmongodbをインストールするステップ1: dockerにmongodbをイン...
CentOS7 システムを使用するのは今回が初めてで、ネットワーク構成を行う際に多くの問題が発生し...
テスト環境: C:\>systeminfo | findstr /c:"OS 名&q...
効果デモ.html <html> <ヘッド> <メタ文字セット=&qu...
目次Anaconda の紹介1. ダウンロード1.1 インストールパッケージを保存するフォルダを作成...
おすすめの記事: CSS 疑似クラスの右下隅をクリックすると、選択を示すチェックマークが表示されます...
MySQLリモート接続の問題に関しては、会社で働いているときに誰かのコンピュータに保存されているMy...
MySQL データベースには増分バックアップ メカニズムはありませんが、マスター データベース内のす...
履歴コマンドを表示し、指定されたコマンドを実行します owen@owen:~/owen/softwa...
この記事では、ローカルストレージの追加、削除、変更を実装するためのVueの具体的なコードを例として紹...
目次1. イメージをプルする2. ローカルデータボリュームを作成する3. コンテナを作成する4. J...
コードはさらに合理化できますが、時間の制約があるため、まずはここで投稿して、自分で最適化してメニュー...
HTML <dl> タグ#定義と使用法<dl> タグは定義リストを定義します...