我有一个由AngularJS
和angular-ui-router
建立的网站。在index.html
,我加载了很多.js
和.css
文件。
现在,我意识到这些.js
和.css
文件的一部分对于像https://localhost:3000/addin/...
这样的路由是不必要的。所以我想ocLazyLoad
加载它们,仅用于xxxxx
不addin
的https://localhost:3000/xxxxx/...
路线。
有没有人如何在代码中做到这一点?
试试
.state('xxxxx', {
url: '/xxxxx',
templateUrl: 'xxxxx.html',
controller: function($ocLazyLoad) {
$ocLazyLoad.load('xxxxx.module.js');
}
更新
根据您在评论中提出的要求,您不能states
拥有喜欢not
.您需要显式映射states
。
我可以想到创建一个not
/addin
状态的一种方法是首先在$stateProvider
中显式映射它们,然后通过一些redirect
状态重定向,然后加载您想要延迟加载的模块。
通过对重定向执行类似操作来重定向addin
以外的状态