在我的 Angular 应用程序中,我有一个根据路线变化的主视图,然后是一个无论如何都会显示的侧边栏。我的 HTML 如下所示:
<div id="container">
<div id="sidebar" ng-controller="SidebarCtrl">(sidebar code)</div>
<div ng-view id="content">Loading...</div>
</div>
并按以下顺序加载 javascript:
- Vendor.js(角度等)
- App.js(我的应用程序)
SidebarCtrl 在 App.js 中定义。然而,当 Angular 加载它时,它会看到该ng-controller
指令并尝试立即将其分配给侧边栏,从而导致“参数 SidebarCtrl 不是函数”错误,除非 app.js 被缓存。我正在考虑将侧边栏放在一个单独的文件中并在 Vendor.js 之前加载它,但侧边栏依赖于 App.js 中定义的一些服务(即我的自定义身份验证服务):
MyApp.controller('SidebarCtrl',
['$scope', '$location', 'auth', function($scope, $location, auth) {
(...)
}])
所以无论哪种方式我都不知所措。
我敢肯定有更好的方法来设置它......有什么想法吗?我可以定义SidebarCtrl
为一个简单的功能但仍然可以访问该auth
服务吗?
谢谢