观察角度指令中 ngModel.$invalid 的变化

2024-03-28

我有一个指令替换select具有自定义输入控件的元素。这是它的简化版本:

angular.module('MyModule', []).directive('reflector', function($timeout) {
    return {
        require: 'ngModel',
        link: function(scope, element, attrs, ngModel) {
            element.insertAfter('<input type=text id="new-' + attrs.id + '" />');
            element.hide()
        }
    };

});

我希望这个自定义输入控件能够反映原始 select 元素的有效/无效状态,即当基本元素无效时添加 ng-invalid 类。

有什么办法可以观察到变化ngModel.$invalid?我知道我能做到scope.$watch(attrs.ngModel, ...),但这给了我模型数据,而不是表单元素的有效/无效状态。


您可以从以下位置查看所有属性ng模型控制器 http://docs.angularjs.org/api/ng.directive%3angModel.NgModelController:

$scope.$watch(function(){return ngModel.$invalid;},function(newVal,oldVal){ ...

And ngModel将以下 css 类设置到元素上:ng-valid、ng-invalid、ng-dirty、ng-pristine。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

观察角度指令中 ngModel.$invalid 的变化 的相关文章

随机推荐

  • HashMap 分组依据 (Java)

    有没有一种方法可以在Java中按Key分组并将值添加到HashMap中 HashMap
  • 理解这部分手臂的汇编代码

    syntax unified thumb cpu cortex m4 arch armv7e m fpu fpv4 sp d16 Changes from unprivileged to privileged mode thumb func
  • constexpr 可以和 volatile 结合使用吗?

    以下代码片段在 Clang 3 5 中工作正常 但在 GCC 4 9 2 中不行 int main constexpr volatile int i 5 有错误 错误 此处不能使用 挥发性 和 constexpr 如果我检查 Clang 生
  • 将新的提交添加到现有的 Git 标签

    我创建了一个 Git 标签v1 1 using git tag a v1 1 m my version 1 1 我推了那个标签 后来我做了一些相关的修改v1 1 现在 当我推送新的更改并使用检查 git 标签时git describe它向我
  • GTK 窗口运动动画?

    我想自动在屏幕上移动我的 GTK WINDOW 目前我将它置于绘制 移动循环中 但这非常不稳定 我对 GTK 编程 以及一般的 gui 编程 非常陌生 我缺少什么 您还没有说您希望窗口遵循什么样的路径 如果路径是时间的一些简单函数 也就是说
  • 如何在swift4中创建串行队列[重复]

    这个问题在这里已经有答案了 DispatchQueue init label qos attributes autoreleaseFrequency target 参数怎么写 原著笔记看了半天 还是不会写串行队列 None
  • Bootstrap - 如何用JSP实现模态弹出窗口

    我正在尝试使用 Spring MVC 通过 JSP 实现模式弹出窗口 In my 索引 jsp我有这个href链接 a href findCompany Find company a and 总是在这个 jsp中 有这样的代码片段 div
  • Crypto++“Tee”式过滤器

    我正在研究根据某些条件处理数据流 数据从输入管道读取 处理并推送到 Crypto CBC Mode
  • 如何在Mac中从命令行启动docker

    我在 mac 上安装了 docker 桌面 因此 为了启动 docker 我打开应用程序并找到 docker 然后我可以在顶部栏看到一个泊坞窗图标 稍后我可以从命令行运行 docker 命令 我的问题是如何从命令行启动 docker 本身
  • 使用 Passport.js 登录后如何通过 React 进行“重定向”?

    新手反应问题 我将其与passport js 和express 一起使用 我已成功登录该应用程序 但我不知道如何进行重定向 router post login passport authenticate local function req
  • ASP.NET Mvc - 可为空参数和逗号作为分隔符

    我应该如何在 global asax 中定义路由才能使用可为空的参数和逗号作为分隔符 我正在尝试为我的搜索用户页面实施路由规则 例如 Controller Action name page status Global asax 的完整条目
  • 是否可以将事件传递给 Ajax 表单的 OnBegin 函数?

    我的应用程序中有一个 Ajax 表单 我想将事件传递给OnBegin函数 然后使用event preventdefault 这将阻止表单提交 然后在检查某些条件时我尝试手动提交表单 但它不起作用 我无法弄清楚为什么 Ajax BeginFo
  • npm 从本地位置而不是从网络安装软件包?

    这个问题让我抓狂 npm 数据库中有一个包 但它有一些错误 这些错误已经在 github 中修复 我如何使用修复版本 github 版本 Edit 您可以直接从 GitHub 存储库安装 甚至只使用 GitHub 用户名和存储库名称 npm
  • 从 eclipse 中卸载和删除插件

    我正在从 eclipse 卸载选项中卸载名为 X 的插件 现在为了明确方法 我进入 eclipse 插件目录并从那里删除插件 jar 文件 现在我尝试重新安装相同的插件 并且 eclipse 提示错误 期间发生错误 org eclipse
  • 结构化 Spark 流指标检索

    我有一个具有结构化 Spark 流的应用程序 我想获取一些指标 例如调度延迟 延迟等 通常 此类指标可以在 Spark UI Streaming 选项卡中找到 但是 结构化流不存在此类功能我知道 那么如何获取这些指标值呢 目前 我尝试使用查
  • Java 泛型:泛型映射(深拷贝)的方法签名

    我有几个Map其本身可能再次包含Maps 任何类型 我写了一个带有签名的方法 public static
  • netbeans jvi vimrc 文件位置

    我已经开始使用 netbeans vim 插件 Jvi 并且我似乎找不到 vimrc 文件位置 我发现一个选项似乎说它将把 vimrc 保存在主文件夹中 但那里没有 我正在使用Ubuntu 谢谢 jVi 不支持 vimscript 因此它不
  • 文本框的日期验证

    我一直用它来将日期设为 mm dd yyyy 格式
  • ViewModelProviders 在 1.1.0 中已弃用

    看着谷歌文档 https developer android com topic libraries architecture viewmodel for ViewModel 他们展示了下面的示例代码 说明如何获得ViewModel val
  • 观察角度指令中 ngModel.$invalid 的变化

    我有一个指令替换select具有自定义输入控件的元素 这是它的简化版本 angular module MyModule directive reflector function timeout return require ngModel