我正在app.js中使用一个函数来转换Vue组件并获取Laravel lang文件Vue.prototype.trans = local => _.get(window.i18n, local)
此功能在我的HTML模板中可用,而在我的脚本中不起作用。
return '<span class="label label-danger">' + trans('attendance.Absent') + '</span>';
在脚本Uncaught ReferenceError: trans is not defined
中使用此功能时出现此错误
并且当我使用Vue Router软件包时此功能不起作用。
这种获取所有fils lang的方法,以将其导入lang.js
Route::get('/js/lang.js', function () {
$strings = Cache::remember('lang.js', 0.01, function () {
$lang = Auth::user()->settings;
$files = glob(resource_path('lang/' . $lang['locale'] . '/*.php'));
$strings = [];
foreach ($files as $file) {
$name = basename($file, '.php');
$strings[$name] = require $file;
}
return $strings;
});
header('Content-Type: text/javascript');
echo('window.i18n = ' . json_encode($strings) . ';');
exit();
})->name('assets.lang');