这是我的翻译文件
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
但是,上面的代码打印网页中的所有键并扰乱整个布局。
我错过了从laravel到Vue.js以正确格式传递json的任何内容
我可以使用下面的代码将对象从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>
试试这个:
<profile
v-bind:ErrorMessages= "'{!! json_encode(Lang::get('Profile')) !!}'">
</profile>
请注意'
和"
之间的额外{
- 所以你会传递你想要的字符串。
您似乎需要将对象传递给:messages
我对Laravel不太熟悉,请尝试以下选项:
<profile messages='{!! json_encode(Lang::get("Profile")) !!}'></profile>
要么
<profile :messages="{!! json_encode(Lang::get('Profile')) !!}"></profile>