Как брать переменную php и использовать ее с vuejs

Я нуждаюсь в том, чтобы использовать переменную php в vuejs, до настоящего времени, пробовал со следующими линиями без положительных результатов, переменная PHP - $empleados

 var app = new Vue({
  el: '#app',
  mounted(){
console.log(empleados);
    },


  data: {
    empleados: '$empleados'
  }
})

Меня представляет следующая ошибка:

Ошибка in mounted hook: "ReferenceError: персонал is not defined"

1
задан 20.02.2019, 10:30
3 ответа

Ты должен осознавать, что клиент и сервер - два отдельных существа. Клиент (vue.js) прокручивает изображение в окне в браузере в javascript, не имеет доступа к серверу (и гораздо меньше с синтаксисом php, PHP не существует в браузере), чтобы общаться с сервером, Сервер (PHP) должен выставлять Веб услугу из-за http, из-за которого клиент смог реализовывать просьбы. Ответ сервера они не являются изменчивыми, смоги быть плоским текстом, json и т.д., которым потом ты должен управлять в vue, чтобы это использовать.

, Если ты хочешь renderizar (сжечь) переменные php в vue, если возможно но не рекомендуемо, это должно быть на сервере. Ты можешь переходить в форме props в компонент

, Как пример оставил тебе этот пример используя laravel $phpVarialble - переменная PHP

Blade

<componente-vue variable="{{ $phpVarialble }}" />

ComopenteVue

Vue.component('componente-vue', {
    props: ['variable']
});

TambiГ©n podrГ-эксперт пробовать убегать javascript и вводить ты изменчивые там, на сервере. ejm используя чистого PHP:

 var app = new Vue({
  el: '#app',
  mounted(){
console.log(empleados);
    },
  data: {
    empleados: <?php echo $empleados ?>
  }
})

Принимает во внимание, что это не dinГЎmico просто, будет сожжена твоя переменная, использованный в javascript на сервере

3
ответ дан 19.11.2019, 23:24

Не возможно соглашаться на переменные php с javascript если только ты не хранил их в признаках html или в куки-файлах или (форма, которую я рекомендую тебе, и он mГЎs тонкая) будьте получены от ответа Webservice.

PodrГ-Схвати использовать клиент HTTP "Axios" https://github.com/axios/axios , чтобы делать вызовы против твоего backend с Vuejs и получать персонал способа asГ-ncrona.

AdemГЎs этой формы, если есть любой тип проблемы, когда персонал получает, ты можешь манипулировать ею asincronГ - в и бросать сообщения ошибки в frontend.

Из этой формы, сделав груз компонента в "mounted", ты можешь создавать один mГ©todo, что позвонил в услугу, которую он возвращал бы тебе персонал, и тогда хранить в "персонале" ответ, который мстит тебе Webservice.

1
ответ дан 19.11.2019, 23:24

Если ты не хочешь ни использовать прямо переменную php (<?php echo $empleados; ?>) также, ни сделать вызов с axios, ты можешь использовать этот пакет https://github.com/laracasts/PHP-Vars-To-Js-Transformer .

В твоем драйвере ты определяешь твою переменную таким образом:

JavaScript::put([
  'empleados' => $empleados,
]);

И чтобы использовать ее в Vue serГ - в следующей формы:

var app = new Vue({
  ...
  data: {
    empleados: empleados,
  ...

Твоя переменная almacenarГЎ в месте window, из-за чего podrГЎs соглашаться прямо на нее, но если ты не хочешь, чтобы есть confusiГіn, ты можешь помещать ему префикс или менять namespace segГєn это https://github.com/laracasts/PHP-Vars-To-Js-Transformer#js_namespace .

1
ответ дан 19.11.2019, 23:24