首页 > 解决方案 > 尝试将翻译键值的 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 Blade 传递给 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>

标签: vue.jslaravel-5.6laravel-5.7laravel-5.8

解决方案


尝试这个:

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

请注意和'之间的附加信息- 这样您就可以将所需的内容作为字符串传递。"{


推荐阅读