この実装、面倒なら代行します
最近は自社のサービスで得たデータを広く活用して世に役立てようと、APIを公開して不特定多数の外部サービスに提供する動きが広がっています。
そういう動きの中で、これからのサイト制作ではそういった外部のデータをうまく使って自分のサイトをユーザーにとってより有益なものにしようとする動きは加速していくことになると思います。
そこで今回は例として、当サイトのID:14855の記事を取得してタイトルを出力するサンプルコードを載せておきます。
(みなさんがご利用になるときは、このコードを自身のサイト内に設置し、自身のサイトのWordPressの記事を取得するなどのコードに書き換えてください。
クロスドメインでの取得は、相手側(取得先)が許可していないとChromeなどではCORSエラーが出るためです)
※ 前回の記事のコードを修正する形をとっていますので、前回以前の記事も確認されることをおすすめします。
<head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.compat.css"> </head> <body> <main id="app"> <div v-cloak> <transition name="fade" mode="out-in" > <div v-if="center" key="center"> <div class="animated fadeInDownBig"> <p>最初の画面</p> <p>当サイトのID:14855の記事のタイトル:<span v-html="results"></span></p> <div class="click" v-on:click="watchLeft">左の画面にいく</div> <div class="click" v-on:click="watchRight">右の画面にいく</div> </div> </div> <div v-if="left" key="left"> <div class="animated" v-bind:class="leftSlideClass"> <p>左の画面</p> <div class="click" v-on:click="watchCenter">最初の画面に戻る</div> <div class="click" v-on:click="watchRight">右の画面にいく</div> </div> </div> <div v-if="right" key="right"> <div class="animated" v-bind:class="rightSlideClass"> <p>右の画面</p> <div class="click" v-on:click="watchCenter">最初の画面に戻る</div> <div class="click" v-on:click="watchLeft">左の画面にいく</div> </div> </div> </transition> </div> </main> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> <script> var app = new Vue({ el: "#app", data() { return { center: true, left: false, right: false, leftSlideClass: "fadeInBottomLeft", rightSlideClass: "fadeInBottomRight", results: "" }; }, created() { axios.get('https://100webdesign.jp/wp-json/wp/v2/posts/14855').then(response => { this.results= response.data['title']['rendered']; }) }, methods: { watchCenter: function () { this.center = true; this.left = false; this.right = false; }, watchLeft: function () { this.center = false; this.left = true; this.right = false; this.leftSlideClass = "fadeInLeft"; }, watchRight: function () { this.center = false; this.left = false; this.right = true; this.rightSlideClass = "fadeInRight"; }, } }); </script> <style> div.click{ cursor: pointer; } [v-cloak] { display: none; } .fade-enter, .fade-leave-to { opacity: 0; } .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter-to, .fade-leave { opacity: 1; } </style> </body>
このようにREST APIを使ってサイトから情報を取得して動的にVue.jsで表示に落とすことができれば、いろいろとサービスに広がりができますね。
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。