Javascript 确定用户在应用程序中的位置并加载不同的脚本
我正在使用Laravel和Angular构建一个相当大的web应用程序。我正在使用各种角度模块,它们将有自己的控制器、指令和视图 我希望能够根据当前位置加载不同的JS文件。例如,像Admin或dashboard这样的路由命名空间。我只是想找出最好的方法 例如,我可以在一个刀片模板中使用这样的标题Javascript 确定用户在应用程序中的位置并加载不同的脚本,javascript,php,angularjs,laravel,Javascript,Php,Angularjs,Laravel,我正在使用Laravel和Angular构建一个相当大的web应用程序。我正在使用各种角度模块,它们将有自己的控制器、指令和视图 我希望能够根据当前位置加载不同的JS文件。例如,像Admin或dashboard这样的路由命名空间。我只是想找出最好的方法 例如,我可以在一个刀片模板中使用这样的标题 <!doctype html> <html> <head> <meta name="viewport" content="width=devic
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="{{ asset('audit-generator/css/angular-material.css') }}">
<link rel="stylesheet" href="{{ asset('audit-generator/css/style.css') }}">
<!-- Insert Angular module file based on location -->
@if(Route::getNamespace() == 'Admin')
<link href="my-angular-module.js" rel="stylesheet">
@endif
</head>
<body ng-app="ueppl" ng-cloak>
@include('audit-generator.templates.harbour-header')
@include('audit-generator.templates.header')
@if(!$errors->isEmpty())
@include('errors.errors')
@endif
@yield('content')
@include('audit-generator.templates.footer')
</body>
</html>
@if(Route::getNamespace()=='Admin')
@恩迪夫
@包括('audit-generator.templates.Harbor header')
@包括('audit-generator.templates.header')
@如果(!$errors->isEmpty())
@包括('errors.errors')
@恩迪夫
@产量(‘含量’)
@包括('audit-generator.templates.footer')
我对如何实现这一点有一些想法,但我只是想知道是否有更好的方法动态加载脚本。我处理它的方法是在主布局刀片中使用
@yield('scripts')
和@yield('styles')
。然后,在一个只显示在命名空间(如Admin
或Client
等)中的刀片模板中,我使用@section('scripts')
在视图中包含必要的文件
下面是一个简单的例子(为了简洁起见减少了)
@产量(‘样式’)
@产量('脚本')
然后,在我的个人视图中,根据需要,我可以使用
<-- A view that only Admin namespace would see -->
@section('scripts')
<script src="{{ elixir('assets/js/admin/adminOnly.js') }}"></script>
@endsection
@节(“脚本”)
@端部
对于您需要的内容,这可能是太多的控制,即:如果每个视图都是同一个文件,则需要为每个视图加载它。如果是这样的话,我相信你的方法更容易实现,因为它会让你的应用程序保持干燥
希望这些信息有帮助 事实上,这很有帮助。我当时正在做一件非常类似的事情。我为每个模块设置布局,并将根据页面所在的部分使用不同的布局模板。非常感谢。
<-- A view that only Admin namespace would see -->
@section('scripts')
<script src="{{ elixir('assets/js/admin/adminOnly.js') }}"></script>
@endsection