Проблема при попытке передать json ключа-значения перевода из лезвия laravel в vue.js

Это мой файл перевода

return [
    "Key1" =>  "Message 1",
    "Key2" => "Message 2",
    "Key3" => "Message 3",
    "Key4" => "Message 4",
    "Key5" => "Message 5",
    "Key6" => "Message 6",
    "Key7" => "Message 7",
    "Key8" => "Message 8",
];

Это код в Laravel Blade

<profile
    v-bind:ErrorMessages= "{                            
    Messages: '{!! json_encode(Lang::get('Profile')) !!}'
}">                                
</profile>

В приведенном выше компоненте я пытаюсь передать полный файл перевода с лезвия laravel на Vue.js

Но приведенный выше код печатает все ключи на веб-странице и нарушает весь макет.

Мне что-то не хватает, чтобы передать json в правильном формате от laravel до Vue.js

Обновление 1

Я могу передать объект из laravel в vue.js, используя приведенный ниже код. Но ниже это больше похоже на ручную работу, вводящую каждый ключ перевода файла один за другим.

<profile
    v-bind:messages= "{                            
    Key1: '{!! trans('Profile.Key1') !!}',
    Key2: '{!! trans('Profile.Key2') !!}',
    Key3: '{!! trans('Profile.Key3') !!}',
    Key4: '{!! trans('Profile.Key4') !!}',
    Key5: '{!! trans('Profile.Key5') !!}',
    Key6: '{!! trans('Profile.Key6') !!}',
    Key7: '{!! trans('Profile.Key7') !!}',
    Key8: '{!! trans('Profile.Key8') !!}'
}">                                
</profile>

person Pankaj    schedule 20.04.2019    source источник


Ответы (2)


Попробуй это:

<profile
    v-bind:ErrorMessages= "'{!! json_encode(Lang::get('Profile')) !!}'">                                
</profile>

Обратите внимание на дополнительные ' между " и { - так что вы передадите то, что хотите, как строку.

person Tarasovych    schedule 23.04.2019

Похоже, вам нужно передать объект в: messages

Я не очень знаком с Laravel, попробуйте следующий вариант:

<profile messages='{!! json_encode(Lang::get("Profile")) !!}'></profile>

or

<profile :messages="{!! json_encode(Lang::get('Profile')) !!}"></profile>
person ittus    schedule 23.04.2019