fetch, а выполняет тот что в компоненте - это связанно со стратегией мержа опций. Хотелось бы, что бы выполнялись fetch из миксина и из компонента.
Вообще есть пакет, который это делает. Но если хочется сделать это самому:
есть optionMergeStrategies, где, наверное, можно это сделать, но не могу понять где эту стратегию надо прописать. Сейчас в nuxt.config (код для optionMergeStrategies из доки):
vue: {
config: {
optionMergeStrategies: {
custom: (toVal, fromVal) => toVal || fromVal
},
}
},
но в компоненте this.$options.custom берется только из компонента, а из миксина не учитывается.
где прописывается optionMergeStrategies ?
не нужно выносить то что завязано на хуки жиз. цикла в миксины, а лучше вообще не юзать миксины
что это вдруг не нужно? если код нужно скопировать в 50 компонентов (не преувеличиваю), то очень даже нужно.
нет, миксины это зло практически без плюсов. миксины с хуками жиз. цикла абсолютное зло без плсов
сделай рендерлес компонент, в нем напиши этот fetch, оберни в него каждый из 50 компонентов и через скопед слотс предоставь данные из него. единственный минус не будешь иметь доступа к данным вне template. Можешь. через скопед слотс флаг загрузки вытащить чтоб не рисовать то что внутри компонента пока не загрузились данные
Обсуждают сегодня