控制器视图上下文中的 dom 元素
The dom element in context of view from the controller
我有一个角度视图的表单。在窗体上的按钮中,我添加了一个事件,用于使用 $http 向服务器发送请求。在将请求发送到服务器之前,我需要使用 jQuery Validate 验证表单。
为了验证表单,我需要控制器中表单的 dom 引用。我的应用程序中已经有了jQuery。所以可以使用以下命令获取表单的引用
$(selecter) or angular.element($(selecter))
但在这两种情况下,它都会搜索完整的文档以获取元素的引用。取而代之的是,我需要在视图上下文中搜索元素,这将提高性能。
我见过$element在角度中的使用。但后来我看到不建议使用 $element,并且在新版本的 angular 中可能会贬值。当我尝试在控制器内获取$element时,我遇到了错误。所以我想它已经贬值了。
那么从控制器获取视图上下文中的 dom 元素的最佳方法是什么?
正如Mikalai所说。要使用任何元素进行操作,您必须创建指令(这是角度方式..(
举个例子:
- 网页
<input type="text" select-all value="test" />
-
命令
app.directive('selectAll', function () { return { restrict: 'A', link: function(scope, element, attrs) { element.on('click', function() { this.select(); }); }; });
此指令仅选择文本元素中的所有文本。
更新:
我为你创造了 plunker。这是你要的吗?
更新 2
我刚刚意识到,我们这里根本不需要 eval。我不知道,为什么我首先把它放在那里。评估也可能是有害的。
看看这个笨蛋。
不建议在控制器的视图上下文中使用 dom 元素。要访问 dom,您应该创建角度指令。
相关文章:
- 如何在DOM元素上按类型构建此函数
- DOM元素和angular元素之间的主要区别是什么
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- 如何在使用Ractive.extend()时引用DOM元素
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- 如何'剪切'DOM元素并将其显示在其他位置
- 转换<a>使用jQuery将文本字符串转换为dom元素
- d3在数据更新时错误地附加了dom元素
- 访问VueJS中的DOM元素
- 在Meteor中如何查找DOM元素(渲染后)
- IE9-添加和删除DOM元素会破坏父keydown事件
- 未捕获错误:元素缓存中id为x的DOM元素与DOM中的元素不同
- 在 ng-if 编译后访问指令中的 DOM 元素
- spin.js/angular spinner:如何将spin定位到DOM元素中(包括plunker演示)
- 如何在dom元素中插入输入标记数据插件
- Mobile Safari、jQuery以及绑定到未来的DOM元素
- 从字符串创建dom元素时添加多个类
- 如何根据客户端的屏幕大小使用javascript更改DOM元素
- 为onClick-hander插入临时DOM元素