Свойства vuejs по умолчанию установлены из vue-i18n - PullRequest
0 голосов
/ 06 ноября 2018

Я хотел бы установить свойство по умолчанию из словаря, например:

  props: {
    title: {
      type: String,
      default: this.$t("basic.confirm"),
    },
    description: {
      type: String,
    }
  }, ...

$t - это vue-i18n , и я хотел бы установить свой заголовок из словаря, если он не определен в родительском классе. Но я получил ошибку:

Uncaught TypeError: this. $ T не является функцией

Аналогичная ошибка, если я перезагрузить без this.

Uncaught ReferenceError: $ t не определено

Но если я выйду из этого значения в методе монтирования, он будет работать хорошо.

Есть ли решение установки свойства по умолчанию из словаря?

Заранее спасибо!

1 Ответ

0 голосов
/ 06 ноября 2018

Одним из решений является использование ключа или его части в качестве реквизита по умолчанию, например

title: {
   type: String,
   default: "basic.confirm", //or "confirm"
 },

и в шаблоне:

<h1>{{ $t(title) }}</h1> //or $t("basic." + title)

edit: вы можете получить доступ к функции $ t внутри

title: {
  type: String,
  default: function () {
    return this.$t("basic.confirm")
  }
},
...