谁能解释一下这个密码匹配指令吗?

2024-01-08

谁能解释一下这段代码是如何工作的。

HTML 标记

<input type="password" ng-model="password" class="form-control" placeholder="Password" required>
<input type="password" ng-model="confirm_password" class="form-control" placeholder="Password" required validate-equals="password">

指令代码

'使用严格';

angular.module('raJwtApp')
  .directive('validateEquals', function () {
    return {
      require: "ngModel",   
      link: function postLink(scope, element, attrs, ngModelCtrl) {
        function validate(value){
          console.log(value, scope.$eval(attrs.validateEquals));
            var valid = (value === scope.$eval(attrs.validateEquals));
            ngModelCtrl.$setValidity('equal', valid);
            return valid ? value : undefined;
        }

        ngModelCtrl.$parsers.push(validate);
        ngModelCtrl.$formatters.push(validate);

        scope.$watch(attrs.validateEquals, function(){
            ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);
        })
      }
    };
  });

谁能给我解释一下下面的内容questions.

下面的代码在中做了什么directive?. 我真的不明白这个密码匹配指令是如何工作的?

$scope.watch(attrs.validateEquals, function(){  
    //ngModelCtrl.$viewValue always returns undefined      
    ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);
});

Angular 没有 $setDirty(尽管它有 $setPristine),因此将模型设置为脏的方法是通过其控制:

ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);

因此,在您的指令中,$watch 正在检查 validateEquals 属性(密码)的更改,然后将模型设置为脏。

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

谁能解释一下这个密码匹配指令吗? 的相关文章

  • Karma 测试报告运行速度快,但实际上运行速度慢

    最好的解释是a video https youtu be Zwwi01JuPrQ 或参见下面的 gif 您会注意到 Karma 进度报告器报告测试只需要几毫秒 但显然需要相当长的时间 我在推特上提到了这一点 https twitter co
  • Angularjs:当输入的字符串未找到匹配项时,在预输入中不显示搜索结果

    我正在使用 Angular UI bootstrap typeahead 我有 HTML
  • Angularjs - ng-click 函数与指令

    我无法决定在以下情况下使用哪种方法 我试图在点击按钮时发出警报 我可以使用两种方法来做到这一点 哪个是最佳实践 请告诉我为什么 Method 1 div div
  • 如果满足条件,Angular JS 如何添加 CSS 类

    我正在创建一个截断指令 如果字符超过 10 我就会截断文本字符串 然后它将显示 我的目标是编写一个条件 如果字符少于 10 个 则删除 如果有人对我如何实现此目标有任何想法 我会坚持这一点并接受建议 这是我的代码 var app angul
  • 有没有办法用异步数据更新过滤器

    我已经构建了下一个角度过滤器 App filter cur2symbol CurrenciesService function CurrenciesService return function input iso input input
  • 关闭特定url上的AngularJS窗口

    我是 angularjs 的新手 所以这个问题对于经验者来说可能看起来很愚蠢 但我真的无法执行此操作 任何人都可以告诉我如何在到达特定网址后从 webview 返回到应用程序 就像我正在打开一个浏览器中的窗口用于支付过程 所以我需要的是 当
  • 需要参考$log.log调用行号

    当我使用 Angular log 服务时 控制台中的所有行都会显示对 angular js 5687 的引用 而不是我调用 log log 函数的行 如何获得对我调用 log 的行的引用 另外 我有自己的围绕 log 的服务 如何引用对我的
  • 使 WebAPI 操作异步?

    我有一个问题 关于在 WebAPI MVC 控制器 AJAX 请求上使用 async await 是否有益 假设我有一个与 Web API 后端对话的 AngularJS 应用程序 并且我想获取一些数据 我对 Web API 进行了一些 A
  • AngularJS 中的重定向状态

    这是状态配置 angular module grabhutApp config function stateProvider urlRouterProvider stateProvider ACCOUNT state account abs
  • Angular - 过滤器从数组中删除空白字符串

    我有一个数组对象 数组可以包含空格 我如何创建 Angular 过滤器来删除空格以确定数组的长度 scope myData 1 1 4 4 N 4 6 8 2 2 4 6 0 6 5 4 2 8 2 3 3 F D 3 5
  • Angular JS未知提供者错误

    删除 Bower components 并清理缓存后 我使用 Bower install 重新安装了依赖项 该应用程序无法加载并出现以下错误 未捕获的错误 injector unpr 未知提供程序 forceReflowProvider 这
  • 从 mvc web api httpresponse 生成 csv 并通过 angularjs 接收以供下载

    我正在尝试从我的 Web api 生成一个 CSV 文件并通过 angularjs 接收该文件 我有一个如下所示的 API 控制器 HttpPost public HttpResponseMessage GenerateCSV FieldP
  • 使用 ui-router 的 angular.js,如何仅重新加载一个视图?

    我有一个相当简单的待办事项应用程序 使用 angular js 我正在使用 ui router 库 我查看了 github 上的 ui router 示例 https github com angular ui ui router tree
  • Protractor addMockModule 附加参数不起作用?

    这看起来非常非常简单 但我不明白为什么这个简单的代码不起作用 我正在添加一个模拟模块来在 Angular E2E 测试中模拟我的 API 后端 我正在使用量角器 1 6 0 我需要将附加参数传递给模拟模块 根据 Protractor 文档
  • ngRepeat 中的指令时的绑定问题

    这就是它的样子 这是Plunker http plnkr co edit IPwDLT p preview parent scope ng repeat directive 在指令中 有一个属性与父作用域中的变量进行双向绑定 但这并没有像我
  • AngularJS:服务、提供商、工厂

    之间有什么区别Service Provider and Factory在 AngularJS 中 从我得到的 AngularJS 邮件列表一个惊人的线程 https groups google com forum msg angular 5
  • 使用 ng-blur 和 ui-sref 无法按预期工作

    我有一个带有自定义下拉结果面板的搜索字段 在其中输入单词或聚焦时会显示该面板 所以我的 html 看起来像这样 div class input group div
  • 通过外部控制进行 AngularJS 智能表过滤

    我试图找出合并 st table st safe src 的正确方法 并通过表本身之外的控件过滤数据 用户可以添加 编辑和删除数据 这就是我使用安全源的原因 任何例子或反馈都会很棒 查看此示例 其中包含从智能表中添加 编辑 删除行的选项 h
  • Angular 指令,属性更新时不调用链接

    在以下示例中 http plnkr co edit OZjg6sUgl35GIriaabQg p preview http plnkr co edit OZjg6sUgl35GIriaabQg p preview 我有 2 个指令 show
  • 如何使用 AngularJS ngView 为未经授权的用户隐藏模板?

    我有一个基本的 PHP 应用程序 其中用户登录信息存储在 HTTP 会话中 该应用程序有一个主模板 例如index html 它使用 ngView 切换子视图 如下所示 div div 现在 这个主模板可以通过基本的 PHP 控件进行保护

随机推荐

  • 操作不同数组(对象数组)索引时是否需要同步

    在 Java 的上下文中 我有这样的代码 MyObject array 在不同的线程中我有这样的代码 array i new MyObject val 如果我确保每个线程都使用不同的 值 i 那么我需要同步上述语句来处理竞争条件吗 仅当两个
  • 在不规则网格上进行插值

    所以 我有三个 numpy 数组 它们在网格上存储纬度 经度和一些属性值 也就是说 我有 LAT y x LON y x 和温度 T y x 对于 x 和 y 的某些限制 网格不一定是规则的 事实上 它是三极的 然后 我想将这些属性 温度
  • pm2 commad 总是卡在 [PM2] Spawning PM2 daemon with pm2_home=/home/$USER/.pm2

    我一直在关注这个问题 https github com Unitech pm2 issues 2799到现在我的问题还没有解决 有人可以帮忙吗 pm2的任何命令总是返回 PM2 Spawning PM2 daemon with pm2 ho
  • 在 Jackson ObjectMapper 上序列化时禁用 Base64 编码

    我在用Jackson 2 2 3 当我将一个对象序列化为 JSON 时 所有byte 属性被编码为base64在生成的 json 中 我如何禁用它 这是我的代码 数据持有者 java XmlAccessorType XmlAccessTyp
  • 带有可选参数并且没有尾部斜杠的应用程序状态

    state tabs map url map location id params location id value 1 views map tab templateUrl templates map html controller Ma
  • 使用数组引用名称属性

    我正在开发一个项目 需要我根据数组中位置的值选择工作表 我已填充desArr 字符串类型 带有值和desArr 0 包含我要引用的工作表的名称 为了避免用户更改选项卡名称并弄乱代码的问题 我尝试引用工作表的 CodeName 通常 我可以这
  • 如何对齐此列表中的每个单词?

    我的文件中有一个列表列表 aaaaa bbb ccccccccc aaaaa bbbbbb cccccc aaa bbb ccccccccc aaaaa bbb ccccccccc aaaaa bbbbbb cccccc aaa bbb c
  • 如何在 Node js 中访问 Laravel 环境变量?

    我试图在我的 socket io 服务器安装中访问 laravel 的 APP KEY 环境变量 但不知道如何访问任何 laravel 环境变量 任何帮助表示赞赏 检查此包中是否有 node jsdotenv https www npmjs
  • 找不到目标实体“某个实体”

    我正在使用 ZF2 与原则我收到此错误 在 Subject Entity Subject user 中找不到目标实体 Entity User 这是我的代码片段
  • 将 Maven 项目的依赖项复制到特定文件夹

    我试图在特定文件夹中获取 Maven 项目所需的所有 jar 我用过mvn dependency copy dependencies命令 它给了我里面需要的jar文件taget dependeny folder 虽然我可以使用 move 或
  • 将异常写入 Windows 日志文件

    我想捕获异常并将其记录在 Windows 日志文件中 如何打开并写入 Windows 日志 您可以使用系统 诊断 EventLog WriteEntry http msdn microsoft com en us library syste
  • 如何在OpenCV中检测已知物体?

    我尝试在窗口中实时绘制形状 屏幕上的形状如缠结 矩形 圆形 半圆形和 Z 使用黄色 尺寸和形状可能与原始图像不同 但程序知道所有原始形状 因为它们是预定义的 我想知道如何识别正确的形状 举个例子 有可能做到这一点的方法吗 我可以为此使用模板
  • 通过在 XSLT 中硬编码节点值来对节点进行分组

  • sass 的 webpack 实时热重载

    我正在为 React Starter 构建一个工作流程 并且希望在更改我的 scss 文件时自动重新加载我的浏览器 目前 当我在 index js 文件 设置为入口点 中进行更改时 webpack 将热重载 但是 当我在 scss 文件中更
  • 下载并缓存 UITableViewCell 中的图像

    注意 请勿使用图书馆 这对我来说很重要 值得学习 此外 关于这个问题有各种各样的答案 但我发现没有一个很好地解决了这个问题 请不要标记为重复 提前致谢 我遇到的问题是 如果您在表格中滚动得非常快 您会看到旧图像并闪烁 我读到的问题的解决方案
  • 将值插入到空的 multidim 中。 numpy 数组 [重复]

    这个问题在这里已经有答案了 我需要创建一个形状的空 numpy 数组 10 10 3 意味着我不知道将插入多少个元素 然后我有很多形状的 numpy 数组 1 10 10 3 我想将其一一插入到准备好的数组中 所以 标记将随着插入的元素而增
  • 相机在 Nougat 7.0 中无法工作

    我的相机代码适用于所有 Android 版本 但在 Nougat 7 0 中出现以下错误 java lang NullPointerException Attempt to invoke virtual method java lang S
  • JS获取生成的textnode的值

    我在 for 循环中有这个 Javascript renderAElements i document createElement a renderAElements i setAttribute href renderAElements
  • Pandas read_csv 中的分段错误

    我在 Os X 10 9 上安装了 Python 2 7 5 Pandas 版本为 0 12 0 943 gaef5061 当我下载时这个 train csv 文件 http www kaggle com c crowdflower wea
  • 谁能解释一下这个密码匹配指令吗?

    谁能解释一下这段代码是如何工作的 HTML 标记