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

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

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

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

JavaScript

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

0回答

782閲覧

typescriptで書かれているものをjavascriptで書きたい(vue.js)

tenlife

総合スコア70

Vue.js

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

JavaScript

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

1グッド

0クリップ

投稿2020/03/14 08:43

編集2020/03/14 22:00

初心者です。

こちらを参考にLaravel + Vue.jsでフォロー機能を実装しています。
https://crieit.net/posts/Laravel-Vue-js

vueの部分でtypescriptで書かれているのですが、自分はvue.jsの形で書きたいです。

ここ参考にしながらだったらtypescriptからvueに自分で出来るんじゃない?

というようなのサイトなどあればぜひ教えていただきたいです。

下記、typescriptからjavascript(vue.js)に書き直したい部分になります。

import { Vue, Component, Prop } from 'vue-property-decorator' import axios from 'axios' @Component export default class UserFollow extends Vue { @Prop({ type: String, required: true }) id!: string @Prop({ type: Boolean, default: false }) following!: boolean currentFollowing = this.following sending = false
async follow() { if (this.sending) { return } this.sending = true const data = { id: this.id } await axios.post('/follow-users', data) this.currentFollowing = true this.sending = false } async unfollow() { if (this.sending) { return } this.sending = true await axios.delete(`/follow-users/${this.id}`) this.currentFollowing = false this.sending = false }

よろしくお願いします。

追記
手探りで書きながらです。(下にエラーあります)

<script> export default { data() { return{ currentFollowing: this.following, sending: false } }, props: { id: { type: String, required: true }, following: { type: Boolean, default: false } }, methods: { async follow() { if(this.sending){ return } this.sending = true const data = { id: this.id } await axios.post('/follow-users', data) this.currentFollowing = true this.sending = false }, async unfollow() { if(this.sending){ return } this.sending = true await axios.delete(`/follow-users/${this.id}`) this.currentFollowing = false this.sending = false } } } </script>

app

1const router = new VueRouter({ 2 routes: [ 3 { 4 path: '/follow/:id', 5 name: 'user.follow', 6 component: FollowComponent, 7 props: true 8 } 9 ] 10}) 11
<router-link v-bind:to="{name: 'user.follow'}"> <button class="btn btn-primary" type="submit">Follow</button> </router-link>
エラー [Vue warn]: Missing required prop: "id"
s.k👍を押しています

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

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

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

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

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

hoshi-takanori

2020/03/14 08:54

JavaScript はどうやって動かしてますか? babel とか webpack とか使ってますか?
miyabi_takatsuk

2020/03/14 13:49 編集

TypeScriptを使っているということは、CLIを使っているのですか? それとも、Laravelから、JavaScriptとして出力してるのでしょうか? hoshi-takanoriさんと、聞きたいことはほぼ同じです。 ようは、どうやって最終的なJavaScriptに落とし込んでいるのか?を聞きたいです。 なんにせよ、JavaScriptにできて、TypeScriptでやれない(コンパイル後の話)ってことはあまりないので、そのままTypeScript使われた方がいいかと思いますが・・・?
tenlife

2020/03/14 20:48

webpack(npmでコンパイル)で動かしています。laravelからjavascriptを動かしています。 ->そのままTypeScript使われた方がいいかと思いますが・・・? 今まで他の実装は全てvue.jsで書いてきました。なのでこの部分の実装だけtypescriptになるのは問題ないのでしょうか?vue.jsに揃えたいという気持ちもあります。
miyabi_takatsuk

2020/03/15 00:23

意味がわかりません。 TypeScript使おうが、Vue.jsを使っている以上、Vue.jsです。 .jsだからTypeScript使うのはおかしい?ってことでしょうか? 最終形が、jsである以上、Vue.jsであると言えますし、 Vue.jsでの開発において、TypeScriptを使うことはよくあります。 特に今回のような、コンパイルするような形と、CLIを使うパターンです。 この部分の実装だけ、というのは、この案件の中ででしょうか? それとも、案件的に他の案件と比較して、この案件だけTypeScript開発、って意味でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問