Пользовательская директива Vue2, модифицирующая вызов компонента

Я пытаюсь написать директиву Vue, которая обновляет свойства компонента до его оценки.

Например, рассмотрим следующее.

<b-modal v-i18n:title="'i18n.key'">
  Hello
</b-modal>

b-modal является компонентом Vue, и он принимает свойство, называемое title. Я хотел бы иметь пользовательскую директиву, которая может установить заголовок свойства после перевода предоставленного ключа.

То есть я хотел бы, чтобы приведенный выше код был переписан с помощью директивы:

<b-modal title="Translated Text">
  Hello
</b-modal>

До сих пор я прочитал следующие ресурсы и не нашел ссылок на то, как это сделать.

https://css-tricks.com/power-custom-directives-vue/ http://optimizely.github.io/vuejs.org/guide/directives.html

Моя текущая попытка выглядит так:

Vue.directive('i18n', {
  inserted: function (el,binding) {
    const i18nKey  = binding.value;
    const attrName = binding.arg;

    el.setAttribute(attrName, i18nKey);
  }
})

Эта попытка, к сожалению, терпит неудачу. Это приводит к изменению конечного элемента DOM и не влияет на свойство, прошедшее к компоненту Vue.

Как я могу изменить указанную выше директиву, чтобы изменить свойства, передаваемые в b-модальный компонент?

0 ответов

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