kotcich
@kotcich

Как передать переменную из ванильного js во Vue обьект?

К примеру я обьявил переменную в js:

let nums = [1, 2, 3];

Ниже (в самом коде обьявляется Vue обьект):

let menu_change = new Vue({some code})

P.S.

Просто обьявить в data: nums[], не вариант для меня, так как мне нужен уже сформированный массив полученный ранее.
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Бери и делай
let nums  = [1, 2, 3];

// 100 000 000 строк кода

let menu_change = new Vue({
  // 100 000 000 строк кода

  methods: {
    showArr(){
      console.log( nums )
    }
  }

  // 100 000 000 строк кода
})


В чём проблема?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kleinmaximus
@kleinmaximus
Senior Full-stack Javascript Developer
https://ru.vuejs.org/v2/api/#provide-inject

const nums  = [1, 2, 3];

// Добавляем провайдера
const app = new Vue({
  provide: {
    nums,
  },
});

// Внедряем в компонентах
// дочерний компонент внедряет 'nums'
const Children = {
  inject: ['nums'],
  created () {
    console.log(this.nums) // => [1, 2, 3]
  }
  // ...
}


Примечание: привязки provide и inject НЕ РЕАКТИВНЫ. Это сделано намеренно. Тем не менее, если вы передаёте вниз отслеживаемый объект, свойства на этом объекте остаются реактивными.
Ответ написан
Ваш ответ на вопрос

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

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