openlang

Не получается задать тип свойству данных Vue.js

Кто-нибудь объяснит синтаксис задания типа свойствам данных vue.js (приложение пишется на typescript)? Мне нужно примерно следующее:

@Component({
    data() {
        return {
            groups: Array<GroupInfo> = []
        }
    }
})

Но vue воспринимает тип как значение, и я запутался, как правильно поступить.

Переведено с английскогоПоказать оригинал

Разговор продолжается 2

Следуя доводам
  1. Ссылка на ответ

    Поставить : перед типом привычным способом здесь нельзя, потому что это конфликтует с синтаксисом key: value объектных литералов JavaScript. Вместо этого воспользуйтесь выводом типов, утверждая, что изначально пустой массив [] имеет тип GroupInfo[]:

    @Component({
        data() {
            return {
                groups: [] as GroupInfo[]
            }
        }
    })
    Переведено с английскогоПоказать оригинал
  2. Ссылка на ответ

    Рассмотрите компоненты в стиле классов (https://v2.vuejs.org/v2/guide/typescript.html#Class-Style-Vue-Component%E2%80%8C%E2%80%8Bs) с vue-class-component: они позволяют перенести эти объявления в свойства класса и хорошо сочетаются с Typescript.

    import Vue from 'vue'
    import Component from 'vue-class-component'
    
    // @Component marks this class as a Vue component
    @Component({
        // Component options can all be supplied here
        template: '<button @click="notify">Click!</button>'
    })
    export default class NoticeComponent extends Vue {
        // Instance properties can hold the initial data
        greeting: string = 'Hello!'
    
        // Instance methods can provide component methods
        notify (): void {
            window.alert(this.greeting)
        }
    }
    Переведено с английскогоПоказать оригинал

Другие стороны того же вопроса

  1. Как в Java Mail показывать текстовое имя отправителя вместо его настоящего адреса электронной почты

    Я отправляю сообщения через Java Mail API. После доставки во входящих отображается адрес отправителя. Хочу показывать вместо…

    Ответы 2Последняя активность java
  2. Доступ к Dynamics CRM из TypeScript

    Мой код CRM выполняется в веб-ресурсе, поэтому для получения данных сущности приходится писать чтобы обратиться к этим данным…

    Ответы 2Последняя активность typescript
  3. Какой формат даты нужен заголовку HTTP-ответа в Gleam?

    Я хочу отправлять заголовок Date. Требуемый формат выглядит следующим образом: Вот мой текущий вариант кода:

    Ответы 3Последняя активность gleam