来自控制器的视图上下文中的dom元素
我有一个角度视图的表格。 在表单上的按钮中,我添加了一个事件,使用$ http向服务器发送请求。 在将请求发送到服务器之前,我需要使用jQuery Validatevalidation表单。
要validation表单,我需要控制器中表单的dom引用。 我的应用程序中已经有了jQuery。 所以可以使用表格的参考
$(selecter) or angular.element($(selecter))
但在这两种情况下,它都会搜索完整的文档以获取元素的引用。 而不是我需要在视图的上下文中搜索元素,这将提高性能。
我已经看到在角度中使用$ element。 但后来我发现不建议使用$ element,并且可能会在新版本的angular中折旧。 当我试图在控制器中获取$元素时,我收到了一个错误。 所以我猜它已经贬值了。
那么从控制器的视图上下文中获取dom元素的最佳方法是什么?
正如米卡莱所说的那样。 要使用任何元素进行操作,您必须创建指令(这是有角度的方式..)
举个例子:
- html
-
指示
app.directive('selectAll', function () { return { restrict: 'A', link: function(scope, element, attrs) { element.on('click', function() { this.select(); }); }; });
该指令只选择文本元素中的所有文本。
更新:
我为你创造了plunker 。 这是你要求的吗?
更新2
我刚才意识到,我们根本不需要eval。 我不知道,为什么我把它放在那里。 Eval也可能有害。
看看这个羽毛球员 。
不建议在控制器的视图上下文中使用dom元素。 要访问dom,您应该创建角度指令。