его задаешь глобально? вроде
Vue.component('datepicker', Datepicker, {
format:'DD.MM.YYYY',
valueType:'YYYY-MM-DD',
titleFormat:'D MMM YYYY (dddd)'
})
Чтобы не прописывать на каждой странице пропсы в самом компоненте
<datepicker :format="'DD.MM.YYYY'" :value-type="'YYYY-MM-DD'" ...
vue2
когда ты описываешь пропсы в компоненте, ты можешь задать дефолтное значение propD: { type: Number, default: 100 }, https://ru.vuejs.org/v2/guide/components-props.html#%D0%92%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F-%D0%B2%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D1%85-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2
Он, скорее всего, говорит про компонент из сторонней библиотеки
Если это внешняя библиотека, то скорее всего надо регистрировать ее через Vue.use() и вторым параметром прокидывать конфиг
точно, про use забыл. Ща попробую. Спасибо.
Vue.use тут не подходит. Покопался, нашел примеры с extends. Вдруг кому полезно будет. import Datepicker from 'vue2-datepicker'; Vue.component('datepicker', { extends: Datepicker, props: { valueType: { type: String, default: 'YYYY-MM-DD' }, format: { type: String, default: 'DD.MM.YYYY' }, titleFormat: { type: String, default: 'D MMM YYYY (dddd)' }, }, })
лучше было компонент-обертку сделать
Чем лучше? Честно сказать (если мы говорим об одном и том же) то я не понял, чем она лучше. Этот способ мне показался проще и понятней.
его проще расширять, он скрывает реализацию и не привязывает к контракту библиотеки
Возможно. Но разширение мне не нужно... Пока. И скрывать реализацию ни от кого не нужно. Будет время, получше покапаюсь в обертке. Возможно я чего-то не понял там. Но ту реализацию, которую нашел, приходилось сначала создавать компонент, а потом делать на него дополнительную обертку. А тут просто в main прописал дефолтные пропсы и все.
Обсуждают сегодня