cyb*_*bat 3 javascript angularjs
我偶尔会发现试图检测JQuery是否存在的插件,或者可能有1-2行代码使用$.我想知道是否有可能以某种方式使角度应用程序之外的Angular的JQLite可用?我第一次尝试简单地看看JQLite是否可用是不行的.基本上我想要变量$或jQuery在任何地方(或至少在我的ng-app区域内)可用,看看它是否包含足够的功能让这些jquery插件/代码工作.
这是源https://github.com/angular/angular.js/blob/master/src/jqLite.js
实际上,你可以,但它几乎肯定无济于事.
如果你想"导出"它,你只需要在加载Angular JavaScript之后添加它:
window.jQuery = window.$ = angular.element;
Run Code Online (Sandbox Code Playgroud)
现在打电话$()或jQuery()将要运行jqLite. 这就是为什么它很可能不起作用:jqLite不支持选择器,这意味着你做不到
angular.element('.foo').html();
Run Code Online (Sandbox Code Playgroud)
您只会收到一条错误,指出选择器未实现.
这是一个jsFiddle,显示它直接在元素上使用时工作,但是使用选择器失败.
根据Yashua的建议,下面是使用他的技巧来启用选择器的更新.如果jqLite足够好,这是一个很好的技巧/黑客.
就个人而言,我不同意你应该只包含jQuery.它是另一个依赖的大型库,如果你只是执行几个单行,你应该能够使用适当的指令直接将它们集成到Angular中.我会花时间看看你是否可以重写现有的代码.
| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |