質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1120閲覧

非SPAのVueについて

AkifumiShimoji

総合スコア9

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1グッド

2クリップ

投稿2018/05/16 04:47

前提・実現したいこと

現在業務で、非SPAのLPやコーポレートサイトを作成しており、
jsの処理が絡むパーツなど、部分的にVueの単一ファイルコンポーネントを使っての作成を考えております。

SPAの場合だと、body直下に<div id="App"></div>などをおいて、そこを全体のルートコンポーネントにするかと思いますが、
LPやコーポレートサイトで部分的にVueアプリ化(仮想DOM化?)する場合、下記のような感じで複数のルートを作ることになるのでしょうか?

javascript

1//サイドナビ 2new Vue({ 3 el: '#sidenav', 4 components: { 5 'side-nav': require('../../component/sidenav.vue'), 6 'side-navtop': require('../../component/sidenav_top.vue'), 7 } 8}); 9 10//ヘッダーフェイスブックモジュール 11new Vue({ 12 el: '#fbapp', 13 components: { 14 'fb-app': require('../../component/fbapp.vue'), 15 } 16}); 17 18・・・

html

1<div id="sidenav"> 2 <side-nav></side-nav> 3</div> 4 5<div id="fbapp"> 6 <fb-app></fb-app> 7</div>

或いは、SPAのようにbody直下で<div id="App">ページ全体</div>などで、
vueで処理をしない部分も含めて、ページ全体をidで囲むほうがいいのでしょうか?
また或いは、より良い方法がありますでしょうか?

vueを初めて間もなく勝手がわからず…

どうかご教授をお願いいたします。

kochoru👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

body直下の<div id="app"></div>だけでいい。
「この中ならどこでもVueコンポーネントが使える」という形。

投稿2018/05/16 04:55

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AkifumiShimoji

2018/05/16 05:03

早速のご回答ありがとうございます。 この場合vueで処理しない部分も含めて、仮想DOMに置き換わる形になると思いますが、 パフォーマンス的な問題やSEO的な問題はあったりしますか? (それを言い出したらVueコンポーネントをやめろってことになっちゃいますかね…?)
guest

0

ベストアンサー

上記のように、使いたい部分にVueを使用する方法で可能と思われます。
SPAではない単一のサイトですが、VueでUI制御しているページでしたら私のGitHubに過去に作ったものがございます。
参考になればと・・・

投稿2018/05/16 07:06

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AkifumiShimoji

2018/05/16 08:32

ご丁寧にソースまでご共有いただきありがとうございます。 やはり、使いたい部分に使用する形と、ページ全体に使用する形と双方適宜案件によって 使い分けるべき…という結論になりますかね。
退会済みユーザー

退会済みユーザー

2018/05/16 12:39

私は、使いたい部分だけに使用しております。 あまり広範囲に渡ってしまうと、開発時に単純なミスをしやすいものですので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問