我正在使用“ Angularized”版本的自旋控制,正如这里记录的: http://blog.xvitcoder.com/adding-a-weel-progress-indicator-to-your-angularjs-application/
我不喜欢显示的解决方案的一个地方是在服务中使用 jQuery,它有效地将自旋控制附加到 DOM 元素。我更倾向于使用角构造来访问元素。我还希望避免对 spinner 需要附加到服务中的元素的 id 进行“硬编码”,而是使用一个指令来设置服务中的 id (singleton) ,这样服务的其他用户或服务本身就不需要知道这一点。
我正在纠结 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')
则不会
有人能给我举一个文档的好例子,说明如何使用角度“元素”而不是 DOM 元素吗?角度显然“包装”的元素与自己的属性,方法等,但它往往很难得到原始值。例如,如果我有一个 <input type='number'>
字段,当用户输入“——”(没有引号)时,我想访问 UI 中可见的原始内容,我什么也得不到,可能是因为“ type = number”意味着 Angular 拒绝输入,即使它在 UI 中可见,我想看到它,这样我就可以测试它并清除它。
感谢你的指点。
谢谢。