问题标签 [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.
angularjs - 使用 $ocLazyLoad.inject 方法注入角度模块
尝试使用 oclazyload 将 Angular 模块注入我的主模块。请注意,我目前没有使用 RequireJs 或 oclazyload 来加载 JavaScript 文件。现在我在 Index HTML Script 标签中添加了模块。
注入方法执行没有任何错误。但是当我记录 $ocLazyLoad.getModules() 时,我没有看到我想要注入的模块。
非常感谢任何帮助。
内联脚本:
主应用:
javascript - 从服务器加载 html 和 Controller 并创建动态 UI - 路由器
我正在寻找一种从服务器动态加载我的应用程序内容的解决方案。
我的场景:
假设我们有 2 个用户(A 和 B),我的应用程序由不同的模块组成,比如可以说一个 shoppingList 和一个计算器,现在我的目标是用户从数据库登录到我的应用程序我获得用户权限以及取决于什么权限他有,我会从服务器加载视图的 html 和逻辑部分的控制器文件,同时我会创建 html 和 ctrl 所需的状态。所以基本上我的应用程序与登录非常一致,其他所有内容都根据用户权限从服务器中提取。
我用什么:
- 科尔多瓦
- AngularJs
- 离子框架
为什么我需要它是动态的:
1)拥有一个仅包含登录逻辑的应用程序的可能性,因此在修复错误或添加模块时,我只需将文件添加到服务器,为用户提供权限,并且无需更新应用程序即可。
2)用户只有他需要的功能,当他只有1个模块的权利时,他不需要拥有一切。
3)App现在变得非常大,这意味着每个模块都有5-10个状态,有自己的html和控制器。目前计划了 50 个不同的模块,因此您可以进行数学计算。
我看了这个以获得一些灵感:
到目前为止我尝试了什么:
我创建了 1 个包含整个模块的 Html 文件,所以我只有 1 个 http 请求:
可以说这是我在用户登录后服务器的响应
HTML部分:
控制器部分:
加载控制器后,我尝试注册它们:
这是行不通的,因为这只是一个字符串......
定义提供者:
UI路由器部分:
目前情况:
我已经设法加载 html 文件并将它们存储在 templateCache 中,甚至加载它们,但前提是状态是预定义的。我在这里注意到的是,有时可以说当我从列表中删除一个项目并返回查看项目又在那里了,也许这与缓存有关我不太确定......
我已经设法加载控制器文件并将控制器保存在模板缓存中,但我真的不知道如何将 $ControllerPrioviderRef.register 与我存储的字符串一起使用......
创建状态确实有效,但控制器不适合,所以我无法打开任何视图......
PS:我还查看了 require.js 和 OCLazyLoad 以及这个示例动态控制器示例
更新:
好的,所以我设法加载,Html
创建一切似乎工作正常,除了控制器似乎根本不工作,没有错误,但似乎没有执行控制器逻辑。目前,从先前下载的文件中注册控制器的唯一解决方案是使用这更像是一种破解而不是正确的解决方案。State
Controller
eval(),
这里的代码:
任何帮助表示赞赏
angularjs - 检索延迟加载的控制器时出现“未知提供程序”错误
我希望“MyController2”继承“MyController1”,但是,两个控制器都是使用 ocLazyLoad 进行延迟加载的。根据Jussi Kosune n 对这个问题的回答(https://stackoverflow.com/a/15292441/2197555),我已经创建了一个registerDynamic()
注册控制器的功能,但它仍然在“$controller”行报告以下错误在 controller1.js 中:
错误:[$injector:unpr] 未知提供者:$elementProvider <- $element <- DataTableController
我的代码是这样的。
第一个文件controller1.js
:
第二个文件controller2.js
:
在第三个 Filelazy-load.js
中,我懒加载了上面的两个 .js 文件:
更新
尝试将一个控制器注入另一个控制器也会引发 Unknown provider 错误:
也许即使使用 $controller 服务,我们也无法将控制器注入花药?
angularjs - 如何在控制器加载视图时使用服务对象之前实例化服务中的某些对象
我有一个加载视图和设置控制器的 stateprovider。现在控制器依赖于应该提供更新对象的服务。例如,我有一个状态 - s,带有模板 v 和控制器 c。c 取决于服务 s。s 有方法 - 让我们说“sm”,它从 AJAX 获取数据。现在我希望仅在加载状态但在实例化控制器之前调用“sm”。
我知道它可以通过解析来完成,但是如何在实例化控制器之前订购服务方法的加载。
我正在使用基于 oclazylaod 的函数“loadSequence”,它以特定的顺序加载脚本。
前任。
我希望在加载我的“courseController”之前调用 someservice.getData 方法。怎么做?
编辑-loadSequence;:-
angularjs - 如何让 Angular 1.5 中的 `$ocLazyLoad` 与 `ui.router` 一起工作?
我正在尝试通过路由(使用 angular )延迟加载($ocLazyLoad)一些非角度库(jQuery + css 文件ui.router
)。
在这个代码片段中,我试图加载iCheck库,并且只在我的InputsCtrl
这是我的配置:
它导致以下错误:
这是我的空控制器:
这是我正在使用的指令:
javascript - 角 1.5.0。通过 ocLazyLoad 使用 UI GRID 重新加载页面时,根模板会重复。$$animateJs 未定义
我在用着:
- Angular, angular-animate 都是v. 1.5.0
- Angular UI Grid v. 3.1.1
- ocLazyLoad v. 1.0.9
- Angular ui 路由器v. 0.2.18
错误是:
当我刷新包含 UI Grid 的页面
并且
UI Grid 模块由 ocLazyLoad 加载时,会发生此错误。
如果我将 UI Grid 脚本放在<'body'>中,一切正常。就在我使用 ocLazyLoad 的时候。
其他页面工作正常。当我改变状态时也可以正常工作。只有当刷新。
不管是F5还是Ctrl + F5
我见过的最奇怪的事情是我的根模板被复制了
更新:
我已将项目示例上传到GITHUB
所以初始状态是 $state 没有 GRID
如果你在状态之间切换一切正常。
但是
,如果您在网格状态下重新加载页面或将初始状态更改为网格状态,则整个模板将被复制。
原因是angular-animate。如果关闭,一切正常。
谢谢!
javascript - 延迟加载角度应用程序不加载指令
我正在尝试使用 ui.router 和 oc.lazyLoad 在我的 Angular 应用程序中延迟加载指令。这是我的代码:
菜单 :
路线配置:
和指令:
我没有错误,console.log
显示解析功能,加载了 demo.js 文件,但随后发生了注意,控制台表单指令控制器未显示。我正在尝试遵循ocLazyLoad 示例中的第一个示例
谢谢
angularjs - 将 oclazyload 与 gulp-angular 结合起来
我如何将 oclazyload 与gulp-angular yeoman generator 结合使用,因为运行 gulp 会将所有依赖项注入脚本文件夹中。如何配置 oclazyload 来注入依赖项?
javascript - Angular (1.5.0) ng-router 不工作
我正在使用angular、angular-animate、angular-route v.1.5.0、ui-grid v. 3.0.7 ocLazyLoad v. 1.0.9。
我收到此错误:
并且每个页面都在另一个页面下加载
有什么建议吗?谢谢!
编辑
javascript - 如何从 AngularJS UI 路由器中的 bower_component 加载文件?
我想在点击特定 URL 时加载文件,但我还没有成功:
这就是我的代码的样子:
如果我像这样将它包含在 index.html 中,它就可以正常工作:
我不想从 index.html 加载 id,因为我不想在网站加载后加载该页面。我需要该脚本在单独的页面上。
有什么建议吗?