栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

AngularJS动态表单字段验证

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AngularJS动态表单字段验证

试试我的自定义指令:

myApp.directive("dynamicName",function($compile){  return {      restrict:"A",      terminal:true,      priority:1000,      link:function(scope,element,attrs){          element.attr('name', scope.$eval(attrs.dynamicName));          element.removeAttr("dynamic-name");          $compile(element)(scope);      }   };});

用它:

<input dynamic-name="field.name"       type="{{ field.type }}"       placeholder="{{ field.name }}"       ng-model="field.value"       required>

演示

问题说明:

默认情况下,输入元件使用ngModelController(

ng-model
)调用
FormController.$addControl
时它们与注册其自身,并在暴露的属性
FormController

输入的名称属性
{{ field.name}}
在这种情况下。因此,即使控制已注册,但你没有暴露在性能
FormController
与命名的
email
firstName
你只需要
{{field.name }}
引用 的最后一个输入项

解决方案说明:

在此解决方案中,我创建了一个自定义指令,以

{{ field.name }}
在运行时将替换为正确的名称。

有关为什么我必须使用

terminal:true,
and的更多信息
priority:1000



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/417830.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号