AngularJS - 控制器和 ngRoute
AngularJS - Controller & ngRoute
晚上,
我目前正在使用 ngRoute + 1.3.5,我有一个管理页面,它有自己的管理视图和控制器。
我不想要 'admin.js' 脚本参考:
<script src="/Resources/Javascript/Controllers/ctrlAdmin.js"></script>
-在 index.html 页面中 - ng-view 所在的位置。我只想引用路由(不注入控制器)。
.when('/admin', {
templateUrl: '/resources/html/views/admin.html'
// Look Mom, no controller reference........
})
如果我在视图文件中包含对 'admin.js' 文件的引用,我们将其命名为 'admin.html',我会得到一个 'NaN function undefined'。但是,如果我将它放在 index.html 页面中,一切都很好。我宁愿不,Angular 显然是在尝试在加载之前解析所有引用,这是合理的;但是有没有办法干净地做到这一点?
这里发现问题,看来我搜索的还不够。
我使用以下组合来延迟加载所有内容(js、css、控制器、翻译等,html 除外,因为它是内置的),部分用于受保护的访问:
- ui-router state/routing 管理
- ui-router-extras.future 允许访问未定义的状态并延迟加载它们
- ocLazyLoad 用于延迟加载所有内容
对于翻译,我有自己的实现,稍后我想开源。但是 angular-translate 对于大多数情况来说已经足够了。
使用此组合,您既不需要在 index.html 中定义(权限保护)js,也不需要作为依赖项。其他积极影响是减少下载大小。
晚上,
我目前正在使用 ngRoute + 1.3.5,我有一个管理页面,它有自己的管理视图和控制器。
我不想要 'admin.js' 脚本参考:
<script src="/Resources/Javascript/Controllers/ctrlAdmin.js"></script>
-在 index.html 页面中 - ng-view 所在的位置。我只想引用路由(不注入控制器)。
.when('/admin', {
templateUrl: '/resources/html/views/admin.html'
// Look Mom, no controller reference........
})
如果我在视图文件中包含对 'admin.js' 文件的引用,我们将其命名为 'admin.html',我会得到一个 'NaN function undefined'。但是,如果我将它放在 index.html 页面中,一切都很好。我宁愿不,Angular 显然是在尝试在加载之前解析所有引用,这是合理的;但是有没有办法干净地做到这一点?
这里发现问题,看来我搜索的还不够。
我使用以下组合来延迟加载所有内容(js、css、控制器、翻译等,html 除外,因为它是内置的),部分用于受保护的访问:
- ui-router state/routing 管理
- ui-router-extras.future 允许访问未定义的状态并延迟加载它们
- ocLazyLoad 用于延迟加载所有内容
对于翻译,我有自己的实现,稍后我想开源。但是 angular-translate 对于大多数情况来说已经足够了。
使用此组合,您既不需要在 index.html 中定义(权限保护)js,也不需要作为依赖项。其他积极影响是减少下载大小。