@Azperin
Дилетант

Глобальная видимость кастомной функции в любом месте кода?

Как, а точнее где, правильно задать функцию, чтоб ее можно было вызвать в любой строчке кода, хоть в какомнить из глубоких компонентов в компьютед свойствах, хоть в мутациях vuex'а, хоть в роутере ?
Если более конкретно, то нужна функция поиска индекса по значению проперти в объекте. Почему то стандартный findIndex отказывается работать.

indexToFind: function(arr,attr,val) {
	for(var i = 0; i < arr.length; i += 1) {
		if(arr[i][attr] === val) {
			return i;
		};
	};
    return -1;
},


Вот куда ее засунуть чтоб проблем с вызовом небыло ?
  • Вопрос задан
  • 1023 просмотра
Решения вопроса 1
lavezzi1
@lavezzi1
Создайте файл utils.js и кладите подобные функции туда.

Экспортируете так в utils.js
export function indexToFind () {...}

Затем в файле где хотите использовать
import { indexToFind } from 'utils.js';

Это самый адекватный подход. У вас таких функций может быть с сотня, по мере роста проекта, засирать window или vue global плохая идея для таких мелких функций.

А вот хороший пример что можно записывать в vue global:

main.js
import axios from 'axios';

Vue.prototype.$http = axios;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@LiguidCool
Расширить объект Vue или Window?
Ответ написан
Комментировать
@SaXXuM
Используйте примеси (mixins).
https://ru.vuejs.org/v2/guide/mixins.html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы