我正在使用“Angularised”版本的旋转控件,文档在这里:http://blog.xvitcoder.com/adding-a-weel-progress-indicator-to-your-angularjs-application/
我不喜欢所展示解决方案中服务中使用 jQuery 实现将旋转控件附加到 DOM 元素的方法。我希望使用 Angular 的结构来访问该元素。我还想避免在服务中“硬编码”spinner需要附加到的元素的 id,并使用指令来设置 id 在服务(单例)中,以便服务的其他用户或服务本身不需要知道。
我正在研究 angular.element 相对于在相同元素 id 上使用 document.getElementById 给我们带来了什么区别。 例如,这个可以工作:
var target = document.getElementById('appBusyIndicator');
这些都不行:
var target = angular.element('#appBusyIndicator');
var target = angular.element('appBusyIndicator');
我显然在做一些非常明显的错误!有谁能帮忙吗?
假设我可以解决上述问题,我还有一个类似的问题,尝试替换jQuery访问元素的方式:
例如:$(target).fadeIn('fast');
可以工作,但是angular.element('#appBusyIndicator').fadeIn('fast')
或者angular.element('appBusyIndicator').fadeIn('fast')
不行。
有人可以指向一个好的文档示例,澄清使用Angular“element”和DOM元素的区别吗? Angular显然用自己的属性,方法等“包装”元素,但往往很难获得原始值。例如,如果我有一个<input type='number'>
字段,并且我想访问在用户键入“--”(不带引号)时在UI中可见的原始内容,则什么都没有返回,可能是因为“type = number”意味着Angular拒绝了输入,即使它在UI中可见,我也想看到它,以便我可以测试并清除它。
任何提示/答案都将不胜感激。
谢谢。