加载 angularjs 视图后加载 jquery 模块?
Posted
技术标签:
【中文标题】加载 angularjs 视图后加载 jquery 模块?【英文标题】:Load jquery module after an angularjs view has loaded? 【发布时间】:2017-01-04 19:10:41 【问题描述】:在加载 angularjs 视图后如何加载 javascript 文件?
我想在视图上应用第三方脚本,但它仅在我重新加载整个页面时有效,而不是在调用视图时。
所以我认为 html 视图中引用的代码没有按正确的顺序处理。
【问题讨论】:
使用指令将 jQuery 内容连接到元素。如果需要,您可以将link
中的函数包装在$timeout()
中。这将确保 Angular 在您的 jQuery 内容之前处理完毕。
【参考方案1】:
您可以尝试使用像 https://oclazyload.readme.io/ 这样的延迟(延迟)加载模块 我用它来加载沉重的微型 mce(js lib + angulat 指令)
例如从 ctrl 加载
myApp.controller("MyCtrl", function($ocLazyLoad)
$ocLazyLoad.load('app/js/testModule.js');
);
【讨论】:
【参考方案2】:要在 Angular 加载完成后强制代码运行,可以添加以下代码:
angular.element(document).ready(function ()
//load jquery module here
);
您可以将“文档”替换为必须存在的任何元素。
【讨论】:
以上是关于加载 angularjs 视图后加载 jquery 模块?的主要内容,如果未能解决你的问题,请参考以下文章
viewdidappear 发生后加载 uitableview 数据?
jQuery:获取 .timeago() 以处理 DOM 就绪后加载的元素(Ajax)
在 adminlte-3 bootstrap-4 treeview 打开/隐藏页面加载后加载动态 AJAX 侧边栏菜单 jquery 不起作用