问题标签 [jqlite]
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.
javascript - Angular JS - 将 jquery 插件添加到 jQlite
我需要在 $element 上做一些 dom 遍历,但是 jQuery 或 jQlite 并没有做我需要的开箱即用的事情,所以我需要使用一个名为 closeChild 的 jQuery 插件。
https://github.com/lolmaus/jquery.closestchild/blob/master/jquery.closestchild.js
我已经使用 bower 安装了,我试图在脚本标签中的 angular.min.js 之后加载它,但仍然出现以下错误。
所以,我假设 Angular 附带的 jQlite 默认情况下不会给你 $ 使用?还是我只是按错误的顺序做事?
javascript - 角指令链接功能
我是 Angular 的新手。我试图学习指令。在我的指令link
函数中,我记录了我的元素并看到它是一个数组。为什么它是一个数组?
JS:
在这种情况下,这个数组的长度可以大于 1!!
angularjs - 如果立即反弹,事件处理程序不会解除绑定
我有一个简单的指令,它呈现一个按钮。
该指令的链接函数执行以下操作:
- 绑定“mouseenter”和“mouseleave”事件。
- 取消绑定 'mouseenter' 和 'mouseleave' 事件。
- 再次绑定 'mouseenter' 和 'mouseleave' 事件。
事件的处理程序将简单的消息记录到控制台。我希望在 mouseenter 或 mouseleave 上调用一次处理程序。但是,它们会执行两次,就好像步骤 2 从未发生过一样。
该指令的代码:
以下 plunker 说明了这个问题:
http://plnkr.co/ocXYYZ2jv09Ch7GDRaat
有人知道它为什么会这样吗?
更新:如果你包含 jQuery 而不是依赖 JQLite,它就可以工作。唉,这不是我的选择。
javascript - Angular JS 和 jqLite 将节点匹配到选择器
我正在尝试将 jQuery 中的一些函数添加到 jqLite 中,这样我就不必使用我的 Angular 应用程序加载整个 jQuery 库。我在本文中使用了 Ben Nadel 使用的技术。
http://www.bennadel.com/blog/2753-creating-jqlite-plugins-in-angularjs.htm
我在实现一个像这样的closestChild插件时遇到了困难。
https://github.com/lolmaus/jquery.closestchild/blob/master/jquery.closestchild.js
显然我已经重写了一点,所以它看起来像这样。
...但它会导致这个错误。
所以,我对错误进行了搜索,发现 jqLite 由于某种原因无法与选择器匹配,只能匹配标签名称(这有用吗?)。我无法理解的是,它与该文章中 Ben 的 .filter() 函数一起运行,当你给它一个选择器时,它似乎工作正常。这与我在这一行中调用的函数完全相同。
所以,我想我的问题是,有没有一种方法可以遍历 $children 并查看它们中的任何一个是否与使用纯 javascript 或其他解决方法传入的选择器匹配?
jquery - 为什么 jqLite 不在我的代码中第一次关注?
我有一个指令来自动聚焦下一个输入,如下所示。该项目是 Ionic 的 angularJs。它适用于另一个项目(基于phonegap - 不是离子),但在这个离子项目中它不是在玩球。标记是相同的。
html 看起来有点像下面:
奇怪的是,在调试中我可以看到执行“elem.nextAll('input').first().focus();”行的代码
这确实会按下本机键盘,但不会关注下一个输入。奇怪的是,当我“制表”到下一个输入时,该指令起作用,我可以回到第一个输入,它会按预期自动制表。
在绑定指令方面,我可以调试并看到它正在触发,所以它不能成为与此相关的问题。HTML 是静态的,因此不存在事件委托问题。
我对此感到困惑,我一直回到的唯一一件事是,最初的 .focus() 似乎并没有真正集中注意力,而且每隔一段时间它就会集中注意力。
我尝试将它包装在 $timeout 和 $scope.$apply() 中,但似乎不起作用。
有没有人知道我可以尝试的东西?
编辑
奇怪的是,当我的 Chrome 开发工具未打开时,它按预期工作。它也不适用于设备。除了可能较慢的执行周期之外,我看不出这里有什么区别?
javascript - Angularjs 在创建 dom 元素方面的性能,纯 js 与 jqlite
我在 Angularjs 中有一个指令,它将有一个包含很多行(超过 1000 行)的表,所以我的老板说我不应该使用绑定来制作网格内容(因为 Angular 的绑定限制约为 2000),而是我应该动态创建 dom 元素。
我这样做了angular.element(...)
,它有效。但是现在我在想如果我使用本机 js 是否可以提高性能document.createElement
?
那么jqlite比纯js慢吗?制作超过 1000 行的 html 会产生多大的影响?
jquery 更快吗?更慢或等于 jqlite?
更新 :
@Joe Enzminger +1 一次绑定,这对报告/打印视图很有用,女巫只是为了查看。但是网格具有内联编辑,因此它需要双向绑定。它有 19 列,每列有一个输入和 2 个按钮,最后一列有一个保存按钮。每个按钮都有ng-show
并且保存按钮必须ng-class
根据行状态更改其图标。所以 (19*3)+1 双向绑定。
这个网格是一些 kine 的数据输入形式 :D 并且所有行都应该是可见的并且不能有分页。
更新2:
我忘了提到,现在tbody
我的模板中有一个空元素,它的所有内容都是作为一个简单的 dom 生成的,并注入其中,绝对没有任何类型的数据绑定。所有的交互都是用好的所有时尚 JS 手动处理的:D。
angularjs - 缺少图像的AngularJS错误
所以我写了一个简单的指令,它拦截图像的 404 并在第一个图像加载失败时回退到另一个图像。
效果很好,但我遇到了一些返回 404 状态代码但仍返回正文中的图像(例如 Google+)的 URL 的问题。
如果你想看看代码示例在这里https://jsfiddle.net/4cjb5srh/1/
在此示例中,Google+ 图片不会触发错误,但linkedin 图片会触发。我尝试使用 jquery .error() 而不是 jqlite bind('error') 但没有解决问题。
编辑:JimTheDev 指出,如果 ngSrc 路径解析为 404,这可能是同一个问题,有没有办法回退到默认值?. 我的问题和其他问题都将退回到 404,但是这个问题特定于返回 404但未触发错误的情况(当响应类型由 kwan245 如下所述指定时)。
javascript - 如何在 Angular 中将 ng-attr-id 转换为 id
我在下面的链接中使用 Angular JS 中的拖放库,它工作得很好,因为它在 div 中没有 id。
https://jasonturim.wordpress.com/2013/09/01/angularjs-drag-and-drop/
我正在使用 HTML 5 拖放功能,但我面临的问题是通过 Angular J S 生成每个动态 id。我已经尝试ng-attr-id
了两者,但我无法id
通过angular.element(element l).a t tr("id")
.
javascript - 如何使用角度改变体型
我有以下代码和一堆其他角度代码:-
在我的角度控制器中
它获取 bodytemp 但不删除类。从 chrome 调试器:-
ETC....
不知道是什么原因?
PS:-我的角度范围是在主体内的 div 内定义的,我无法更改它,所以我的代码如下:-
引导代码:-
javascript - AngularJS:为什么在使用 ng-options 时 $element.find('option') 返回一个空数组?
在 Angular 1.4 中,我使用该指令使用基于如下对象的标签ngOptions
填充标签:<select>
<option>
这很好用ng-options="value as key for (key, value) in vm.colors"
,但现在我想为每个匹配键的选项标签添加一个类(例如'.black','.red')。我的想法是简单地找到option
元素并使用addClass()
,但我在获取这些元素时遇到了麻烦。(注意:我没有使用 jQuery,并且希望避免为此添加它。)
我希望能够将结果绑定$element.find('option')
到我的视图模型,然后使用 观看它$scope.$watch('vm.options', function() {...})
,但是当我登录vm.options
到控制台时,我看到的只是一个空数组。
我在这里使用$scope.$watch
不正确吗?有问题$element
吗?ngOptions
我的控制器无法访问范围内的元素吗?还是我只是犯了一个愚蠢的错误?
任何帮助将不胜感激......在此先感谢!