gpt4 book ai didi

javascript - Controller View 上下文中的 dom 元素

转载 作者:行者123 更新时间:2023-12-03 11:17:02 25 4
gpt4 key购买 nike

我有一个 Angular View 的表单。在表单上的按钮中,我添加了一个事件以使用 $http 向服务器发送请求。在将请求发送到服务器之前,我需要使用 jQuery Validate 验证表单。

为了验证表单,我需要 Controller 中表单的 dom 引用。我的应用程序中已经有 jQuery。因此可以使用以下方式获取表单的引用

$(selecter) or angular.element($(selecter))

但在这两种情况下,它都会搜索完整文档以获取元素的引用。相反,我需要在 View 上下文中搜索元素,这将提高性能。

我已经看到了 Angular 中 $element 的使用。但后来我发现不建议使用$element,并且在新版本的Angular中它可能会被贬值。当我尝试在 Controller 中获取 $element 时,出现错误。所以我猜它已经贬值了。

那么从 Controller 获取 View 上下文中的 dom 元素的最佳方法是什么?

最佳答案

正如米卡莱所说。要操作任何元素,您必须创建指令(这是 Angular 方式..)

举个例子:

  • html <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。我不知道,为什么我首先把它放在那里。评估也可能有害。

看看这个plunker .

关于javascript - Controller View 上下文中的 dom 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27295740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com