как получить доступ к ответу ax ios в клинке - laravel view - PullRequest
0 голосов
/ 25 марта 2020

Как получить доступ к топору ios результат из vue компонента в блейд-файле? Я также пытался получить доступ к {{value}} в div 'app'. Но ошибка все еще остается. Я хочу создать частичные представления на основе значения ответа ax ios.

IssueComponent. vue

<template>
<div>
<div class="form-group">
  <label>Enter Accession No</label>
  <input
    type="text"
    name="accession_no"
    placeholder="Accession No"
    class="form-control"
    v-on:keyup.enter="getData()"
    v-model="query"
  />
</div>
<div>
  <button class="btn btn-info" @click.prevent="getData()">Check</button>
</div>
</template>

<script>
export default {
data() {
return {
  query: "",
  value: []
 };
},
 methods: {
 getData: function() {
  var self = this;
  axios
    .get("/issue-getdata", { params: { q: self.query } })
    .then(function(response) {
      self.value = response.data;
    })
    .catch(function(error) {
      console.log(error);
    })
    .then(function() {
    });
 }
}
};
</script>

create.blade. php

<form action="/issue" method="POST">

<div id="app">
    <issue-component></issue-component>
</div>
{{value}}  ///////// Undefined constant error
<button type="submit" class="button-btn btn-success">Submit</button>
@csrf
</form>

Метод контроллера

public function getData(Request $request){
    $input = $request->q;
    $acsNo = preg_replace("/[^0-9]/", "", $input);
    $acsNoIssued =  Issue::where('accession_no', '=', $acsNo)->where('is_returned', null)->orwhere('is_returned', 0)->first();
    return response()->json($acsNoIssued);        
}

Ошибка

Facade\Ignition\Exceptions\ViewException
Use of undefined constant value - assumed 'value' (this will throw an Error in a future version of PHP) (View: D:\ProgrammingSSD\laragon\www\ulclibrary\resources\views\issues\create.blade.php)

1 Ответ

0 голосов
/ 25 марта 2020

Вы не можете. Блейд отображается на стороне сервера. К тому времени, когда ваш vue компонент сделает запрос, {{$ value}} уже проанализирован и теперь является частью c части вашего представления.

Что вы можете сделать, это сохранить состояние ( информация) в VUE, и прочитайте ее, используя другой компонент VUE, который будет отображать информацию (вместо блейда).

Руководство по состояниям в vue https://vuex.vuejs.org/guide/state.html

<form action="/issue" method="POST">

<div id="app">
    <issue-component></issue-component>
</div>
<display-component-value></display-component-value>  // Vue component that reads the state you want
<button type="submit" class="button-btn btn-success">Submit</button>
@csrf
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...