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

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

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

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

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

TypeScript

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

Q&A

1回答

7318閲覧

vue.js 型エラーの解決方法

whiwhdiw

総合スコア70

Vue.js

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

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

TypeScript

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

1グッド

2クリップ

投稿2020/06/14 19:06

addTestの中のaddSelectの処理でtestEntitiesにjsonの値を表示したいのですが下記のエラーになってしまいます。
解決方法がわかる人いましたらご教授お願いしたいです。

Type 'TestEntity' is missing the following properties from type 'TestEntity[]': length, pop, push, concat, and 28 more.ts(2740)
import { VuexModule, Module, Mutation, Action } from 'vuex-module-decorators' import { NuxtAxiosInstance } from '@nuxtjs/axios' import {Test, Selections } from '../domain/test'; import test from '@/test/test.json' export class TestEntity { totalCount: number = 0 selections: selectSatuses[] = [] constructor(test: Test) { this.totalCount = test.total_count this.selections = this.addSelections(test.select_statuses[0].selections) } private addSelections(selections: Selections[]) { let select: any = [] selections.forEach((selection) => { select = selection }) return select } } export interface ITestState { testEntities: TestEntity[] } @Module({ stateFactory: true, namespaced: true, name: 'test' }) export default class Test extends VuexModule implements ITestState { testEntities: TestEntity[] = [] @Mutation addSelect(selections: any) { this.testEntities = new TestEntity(selections) } @Action async loadTest(axios: NuxtAxiosInstance) { this.addSelect(test) } }
kakedashidesu👍を押しています

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

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

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

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

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

guest

回答1

0

ちょくちょく回答依頼いただきますが、残念ながら当方はVueを触ったことはまったくないのでご期待には添えません。MyタグにVue.jsを登録されている方を探されたほうがよいと思います。

が、ちょっとおかしいなと思うところがありますので指摘します。

js

1export default class Test extends VuexModule implements ITestState { 2 testEntities: TestEntity[] = [] 3 // 後略 4}

この行で、プロパティ testEntitiesTestEntity を内包する Array として定義されています。

が、次の行では TestEntity を内包する Array ではなく TestEntity そのものを入れようとしています。 addSelect というメソッド名から察するに、pushしないといけないのではないでしょうか。

js

1 addSelect(selections: any) { 2 this.testEntities = new TestEntity(selections) 3 }

投稿2020/06/15 09:57

thyda.eiqau

総合スコア2982

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問