Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确定用户在应用程序中的位置并加载不同的脚本_Javascript_Php_Angularjs_Laravel - Fatal编程技术网

Javascript 确定用户在应用程序中的位置并加载不同的脚本

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

我正在使用Laravel和Angular构建一个相当大的web应用程序。我正在使用各种角度模块,它们将有自己的控制器、指令和视图

我希望能够根据当前位置加载不同的JS文件。例如,像Admin或dashboard这样的路由命名空间。我只是想找出最好的方法

例如,我可以在一个刀片模板中使用这样的标题

<!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