问题标签 [oclazyload]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
563 浏览

javascript - 使用状态提供程序从单独的文件延迟加载控制器

所以,我正在尝试动态加载一个将控制器添加到我的主模块的文件。问题是我不想在脚本标签中引用文件本身。

更具体地说,我有 2 个控制器文件。mainController.js我的文件中引用的主控制器index.html文件。我添加到该文件的任何控制器都可以正常加载。

我想用于登录页面的控制器文件login.js包含以下信息:

我所有的控制器文件都在同一个文件夹中,但是,与 相反mainController.js,该login.js文件不会出现在任何.html文件中。

我的意图是stateProvider像这样在我的内部动态加载 login.js 文件:

只要我不尝试动态加载login.js文件(因此在 .html 文件中添加对文件的引用或在 mainController.js 文件中添加登录控制器代码),一切正常。但是,一旦我尝试删除引用以强制 stateProvider 处理加载,我就会得到一个Error: $injector:modulerr

任何人都知道调用lazyLoader 的正确方法是什么,所以我只能在需要时加载我的.js 文件?

编辑信息: 我忘记提及的事情:文件加载部分本身似乎正在工作。如果我不在任何地方调用控制器并且只加载它。我可以看到浏览器正在加载控制器文件。但问题似乎是时间问题。如果我在 .state() 角度中提到控制器名称,它会在加载之前尝试访问它,并且整个事情甚至在加载文件之前就崩溃了

0 投票
1 回答
670 浏览

angularjs - ocLazyLoad 控制器依赖数据解决问题

我有一种情况,我在 Angular js 中使用 ocLazyLoad 加载服务和控制器,它按预期工作。但是,我也想通过使用由 ocLazyLoad 解析的服务将一些数据传递给控制器​​,不幸的是我无法以任何方式完成此操作。我尝试了以下两种方法。

我的服务

我的控制器

我的配置是从 index.html 页面加载的。

方法一

方法二

控制台也没有错误,服务中所需的所有依赖项(例如 http 服务和配置)都是从 html 页面本身预加载的。任何帮助将非常感激。

0 投票
1 回答
293 浏览

angularjs - 使用 webpack 加载的 Angular 材质模板未应用 css

我正在调整一个 angular 1 项目以使用 webpack 模块捆绑系统。几乎一切都按预期工作,但一个材料组件没有得到很好的应用。它是md-input-container

我认为这是问题的原因:我正在使用ng-cache-loader加载 html 模板。所以,我认为,在某种程度上,标签没有被处理。因为我将md-input-container放在主 index.html 中(ng-cache-loader 未加载)并且它可以工作。

另外,我正在使用ocLazyLoadui-router-extras future state延迟加载模块和状态,也许这与问题有关......

起初我以为这只是 css 问题,但我已经证实它不是。

0 投票
2 回答
1160 浏览

javascript - 如何使用 ui-router 在根路由处将静态登录页面与其自己的设计集成

我正在使用 ui-router 开发 angular js 1.x 应用程序,并且由于我是 angular js 的新手而遇到了瓶颈,所以如果我听起来很傻,请原谅我。

问题:

我有一个主要的 angular js 应用程序,它有自己的 css 文件和脚本文件(控制器、指令 3rd 方库,如引导程序、angular 等和服务文件)。

现在我有一个独立设计的登录页面(它有自己的 css、脚本和图像文件)。

现在我想将上面提到的登陆页面与它自己的单独文件集成在 Angular js 应用程序的根路径上。

所以我的问题是我应该怎么做?,这样当我尝试访问登录页面和主应用程序的路由时,css和脚本文件不会相互冲突。

我已经尝试分别加载登陆页面状态和主要应用程序文件所需的文件,但它们似乎与彼此的文件发生冲突。因为我认为正在发生的事情是已经为登陆页面延迟加载的文件与当我单击登录页面上的主应用程序链接时,为主应用程序延迟加载的文件。

编辑1:

我还尝试使用 angular-ui-router-styles 它完成了这项工作,因为它在添加新文件之前卸载了所有延迟加载的文件,但发生的情况是在页面重新加载时出现无样式页面,然后在几秒钟后它获得样式,因为包加载将 css 文件附加到 head 标记后

0 投票
1 回答
294 浏览

lazy-loading - Angular 1.5 组件 Meteor 中的 LazyLoad 模块

我在这里懒惰地将模块加载到 angular-meteor 1.5 中。所以 Meteor 版本是 1.4.2.3,这意味着 ES2015、import、ui-router 等。到目前为止,我已经尝试过 ocLazyLoad,angularAMD 有完全不同的语法(使用 define(function()...) 我没有知道如何与 Urigo 的 angular-meteor 的样板应用程序“合并”。所以在 ocLazyLoad 中,我通过了这个https://github.com/alo/oclazyload-uirouter-component-routing-tests github 示例,因为它是我发现只有一个具有 ng 1.5 组件和子模块,而不仅仅是懒惰地将控制器添加到主应用程序模块。

当我尝试实现这一点时,ocLazyLoad 记录了 js 文件已加载,但在 Sources 选项卡而不是实际文件中,js 文件包含整个流星应用程序。

关于为什么会这样或者 angularAMD 是否与 angular-meteor 一起工作的任何想法,或者一般来说,如何使lazyLoading 模块工作?

0 投票
1 回答
218 浏览

angularjs - 使用 oclazyload 和 webpack 代码拆分避免角度路由中的代码重复

我目前在项目中使用 angular 1.5,我的路由如下所示:

当我尝试在这样的单独函数中提取重复代码时:

并以这种方式使用加载功能:

路由不再起作用,我在 webpackMissingModule 处收到此错误“找不到模块”。

0 投票
2 回答
2198 浏览

angularjs - 如何使用requirejs加载css?

这是我的 requirejs 配置文件。我在基于角度的项目中使用 require js。如果我可以加载 css,requirejs我也可以组织我的 css 文件!我是新requirejs概念。任何帮助表示赞赏

这是我的主控制器

如何使用 requirejs 加载 css?

0 投票
1 回答
990 浏览

javascript - 如何从特定的 ui-router 状态中删除通过 $ocLazyLoad 加载的 CSS 文件?

这是我的应用程序的基本设置:我有一个主应用程序 (myApp) 和下面的两个模块 (view1, view2)。

这是我的应用程序:

这里是 view1(view2 完全一样,只是把 1 换成了 2):

view1.css 将所有文本更改为蓝色,view2.css 将所有文本更改为红色。

以下是它当前的工作方式:我从 view1 开始,所有文本都是蓝色的。我转到 view2,它将 view2.css 添加到 head 元素,但是当我返回 view1 时,它不会卸载 view2.css,因此文本永远保持红色。

这是我希望它的工作方式:我从 view1 开始,所有文本都是蓝色的。然后我转到 view2,它从 head 元素中删除 view1.css 并添加 view2.css,将所有文本更改为红色。当我返回 view1 时,它会从 head 元素中删除 view2.css,文本再次变为蓝色。

我该如何做到这一点?

0 投票
3 回答
2881 浏览

html - 发布新版本的 SPA 时如何重新加载模板 (html)?

由于浏览器正在缓存 html 模板,因此我在发布新版本的 SPA 时遇到了麻烦。

我的 SPA 使用 Angular 1.5、ocLazyload 和 ui-router。我已经将 gulp 任务配置为使用缓存清除技术(使用gulp-rev),并且它工作得很好,至少在脚本和 css 文件中是这样。但是,当我们对 html 文件进行更改时,浏览器会继续加载旧版本。有时即使使用 Ctrl+F5 刷新页面也不能解决问题,它会一直显示旧版本的 html。

此外,将浏览器配置为不缓存 html 文件是不可取的(特别是对于移动设备),因为 html 更改可能不会经常发生。

有没有什么好的解决方案可以解决这个问题,仅在有新版本时才获取 html 文件?

提前致谢!

0 投票
0 回答
143 浏览

javascript - Angular Batarang 与 ocLazyLoad 冲突

我正在制作一个 POC 来测试 ocLazyLoad 以延迟加载应用程序的各个部分。经过大量调试,我发现 Angular Batarang 在某种程度上与 ocLazyLoad 冲突。

当我延迟加载控制器时,我在拒绝承诺回调时遇到以下错误。

路由配置:

当我禁用batarang 扩展时,我的延迟加载工作完美。

期待任何一个团队(ocLazyLoad 或 Batarang)的帮助