我的应用程序中有一些设置可以由管理员更改(例如,每个用户在创建新产品时都可以选择的产品类别)。我将它们存储在由“名称”和“值”列组成的数据库“设置”表中。
我还添加了一个服务提供商,该服务提供商将这些设置添加到配置并缓存它们。我可以从Laravel轻松访问它们,但不能从前端访问它们(使用Vue)。
是否可以通过Vue访问Laravel配置值?我尝试过this answer,但没有成功。我应该在每次API调用时请求设置吗?
如果您的设置是动态的,则每次调用API时都必须请求它们。
如果没有,则在部署前端代码时可以一次获得那些设置。
我不知道我是否正确理解了您的问题,但是...
Laravel配置是后端的一部分。在前端访问它们的唯一方法是将它们传递给前端。
除非有一些我不知道的花哨的技巧,否则在客户端上加载并运行的Vue.js应用将无法访问您的服务器端配置-除非有一些说明将它们拖到了在我不知道的编译过程中,充其量会让我感到冒充危险。
但是通常来说,客户端无头应用程序无法访问服务器端数据,除非服务器说“这里是客户端,有此数据。”
例如
class MyApiController extends Controller
{
function getThisConfig()
{
return config('this');
}
}
使用:
Route::get('/api/config/this', ['uses' => 'MyApiController@getThisConfig']);
然后您的Vue.js应用将AJAX请求发送到/api/config/this
。