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

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

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

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

JavaScript

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

3322閲覧

VueJSって使いやすいのか分からない...

Hideki0302

総合スコア41

Vue.js

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

JavaScript

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/03/02 13:18

編集2019/03/02 13:59

Vue.jsがよく使われるようになってきて自分も波に乗ろうかと思ったのですが、どこか苦手なんです。

例えば、以下のように処理を一部分に書かないといけないので、大量のコードを書くのは面倒なんじゃないかということ。

JavaScript

1var app = new Vue ({ 2 // 処理 3})

また、以下のように通常のHTMLを汚してしまうのが嫌いな上、v-から始まる属性がいくつかあるのが個人的に苦手です。

HTML

1<div v-on:click="example"></div>

以上を踏まえて、自分のVue.jsに対する考えを良くする回答をくださればと思います。
公式ドキュメントの他に分かりやすいサイトなども教えてくれたら嬉しいです。

以下、追記
サーバー: Bottle (Python3.7)
テンプレートエンジン: Jinja2 (Python3.7)

以下のようにdisplay_nameをサーバーからブラウザへ送信しています。また、これを行うにはJinja2が必要なので、Jinja2の代わりにVue.jsをテンプレートエンジンとして利用できないのです。

Python

1from bottle import run, static_file 2from bottle import TEMPLATE_PATH, jinja2_template as template 3import bottle 4from Info import AppInfo 5appInfo = AppInfo() 6TEMPLATE_PATH.append("./docs") 7 8 9@route("/") 10def home(): 11 return template("Home.j2", display_name=display_name) 12 13run(host="localhost" port=8000)

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

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

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

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

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

guest

回答4

0

一例ですが、次のような省略が用意されています。
調べてみると他にも略記方法があるかも。

js

1// v-on 2@click="" 3 4// v-bind 5:count="1"

また、コードが集中する件に関しては、vue-cliを参照されることをおすすめします。

投稿2019/03/02 13:41

編集2019/03/02 13:45
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

vueの最大の魅力の一つが単一ファイルコンポーネントだと思っています。
https://jp.vuejs.org/v2/guide/single-file-components.html

これを使えば処理を一部分に書かないといけない問題はなくなりますし、HTMLを汚すこともありません。
また、コンポーネントごとにscoped SCSSを使えるのも地味に嬉しいです。

投稿2019/03/02 13:23

yu-smc

総合スコア610

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

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

Hideki0302

2019/03/02 13:40 編集

サーバーをPythonで動かしているので、サーバーからブラウザへデータの移動をするためにJinja2というPythonのテンプレートエンジンを使ってます。 Jinja2とVue.jsのテンプレートが競合するのを避けるためにJinja2テンプレートを削除しようと思ったのですが、Pythonサーバーからブラウザへデータの移動をする際、Vue.jsを使うとデータの移動が出来ないんじゃないかと思います。 別言語間のデータの行き来は難しいので、サーバーをPythonからNode.jsに変える必要があるんじゃないかと思うのですが、どうなのでしょうか?
yu-smc

2019/03/02 13:54

そうですね、自分の場合はAPI通信によってサーバーとクライアントのデータ受け渡しをしています。 APIを使うか、サーバーサイドもNode.jsで実装する以外の方法をとるならvueを使わなくてもいいんじゃないかと思います。
guest

0

サーバー上にAPIを作ってサーバーからデータの取得をできるようにして、フロントの処理をVue.jsに任せようと思います。

回答してくださったyu-smcさん、ppnさんありがとうございました!

投稿2019/03/02 14:06

Hideki0302

総合スコア41

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

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

0

サーバー上にAPIを作ってサーバーからデータの取得をできるようにして、フロントの処理をVue.jsに任せようと思います。

回答してくださったyu-smcさん、ppnさんありがとうございました!

投稿2019/03/02 14:04

Hideki0302

総合スコア41

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問