установить laravel переменную в vuejs - PullRequest
2 голосов
/ 22 апреля 2020

Привет, у меня есть этот laravel php код блейда

<tr v-for='line , id in edited_lines'>
    <td>
        @include(
            'treats.create_search_and_select',
            [
                'search_and_select' => 'user_id[]',
                'value' =>  null,
                'hidden_id' => null,
                'type' => 'all_type_of_accounts',
                'required' => 'required',
                'language' => 'account',
                'hint' => null,
                'policy' => null,
                'show_type' => 'blank',
                'rank' => null,
            ]
        )
    </td>
</tr>

Теперь я хочу передать значение для hidden_id, который приходит из v-for выше, как это ..

'hidden_id' => line['anything'],

так что я попробовал это.

 'value' =>  "@{{line}}",

и это

'value' =>  "{{line}}",

и ни один из aboove работы .. так как я могу установить значение или hidden_id из значения приходят из <tr v-for='line , id in edited_lines'> Большое спасибо

1 Ответ

1 голос
/ 22 апреля 2020

Основной способ обмена (глобальными) переменными от Laravel до Vue заключается в следующем:

  • передать переменную состояния через окно в ваше приложение Vue (например, для информации пользователя) )
  • передача атрибутов вашему компоненту

Однако невозможно передать вашу переменную hidden_id из Vue в Blade. Я бы предложил создать компонент из вашего фрагмента и содержимого строки таблицы и обрабатывать все в Vue вместо половины в Vue и половины в блейде.

С помощью переменной состояния вы можете сделать что-то вроде этого:

<html>
<head>
    <script type="application/javascript">
        window.state = {
            my_js_var: '{{ $myPhpVar }}',
        };
    </script>
</head>
<body>

</body>
</html>

Или просто передайте переменную в TableRowComponent:

TableRowComponent.vue:

<template>
    <tr v-for='item, id in items'>
        <td>
            <TreatsCreateSearchAndSelectComponent :hidden-id="item.value"/>
        </td>
    </tr>
</template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...