【发布时间】:2015-02-23 18:33:13
【问题描述】:
在我的管理页面中,我想使用 AngularJS 管理我的电子商务产品。
例如admin/product 将查询 admin/api/product 中的 api
我还没有设置用户身份验证,所以我还不知道用户是否是管理员用户。
我只希望在管理页面上包含 angularjs 管理脚本。
只有当路由组是管理员时,有没有一种方法可以在我的视图中包含有角度的 adminapp.js。例如对于面向公众的页面,我不会将 adminapp.js 公开给面向公众的页面。
我知道如果用户被认证为管理员,我可以这样做 - 但如果路由组是管理员,我希望能够这样做。
Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function() {
Route::group(['prefix' => 'api', 'namespace' => 'Api'], function() {
Route::resource('product', 'ProductController');
});
Route::group(['namespace' => 'Product'], function() {
Route::get('product', 'ProductController');
});
});
在templates.master.blade.php 中类似:
@if($routeGroupIsAdmin)
{{ HTML::script('js/adminapp.js') }}
@endif
甚至:
{{ Route::getCurrentRoute()->getPrefix() == 'admin'? HTML::script('js/adminapp.js') : HTML::script('js/app.js') }}
但上面示例的问题是,如果我处于深层嵌套视图中:admin/categories/products,那么我的前缀将不再是 admin。我不想继续使用正则表达式来检测路由前缀中的单词admin。
【问题讨论】: