この記事は2020年03月30日に投稿しました。
目次
リンク
1. はじめに
こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているVue.jsのslotに名前をつける方法についてです。
2. Vue.jsのslotに名前をつける
Vue.jsのslotに名前をつけるには、slotのname属性を使用します。
実装例
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Sample</title> </head> <body> <!-- 'app'のタグはVue.jsによって操作されます。 --> <div id="app"> <!-- コンポーネントを表示します。 --> <!-- "<comp-child>"と"</comp-child>"のslotに設定された名前の内容が、 コンポーネント"comp-child"の対応したslotに挿入されます。 --> <comp-child> <div slot="title">Vue.jsサンプル</div> <div slot="content">名前付きslotのサンプルです。</div> </comp-child> <!-- "<comp-child>"と"</comp-child>"の間の内容が無い場合、 コンポーネント"comp-child"のslotの初期値が挿入されます。 --> <comp-child></comp-child> </div> <!-- Vue.jsを使用します。 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="vue.js"></script> <!-- Vue.jsで操作する内容です。 --> <script> Vue.config.productionTip = false // コンポーネントを定義します。 // new Vueの前に定義します。 Vue.component('comp-child', { // "<slot></slot>"部分の"name"属性対するslotの親の内容が埋め込まれます。 template: `<div class=comp-child> <h1><slot name="title">デフォルトのタイトル</slot></h1> <p><slot name="content">デフォルトの内容</slot></p> </div>` }) var app = new Vue({ // divタグの'app'内を操作対象とします。 el: '#app' }) </script> </body> </html>
実行結果
Vue.jsサンプル 名前付きslotのサンプルです。 デフォルトのタイトル デフォルトの内容
3. おわりに
slotに名前をつけることにより、複数のslotが使用できるようになります。
リンク
紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリやウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688