输入类型text和email在angular指令中的行为不同(双向数据绑定)
input type text and email behaving differently inside angular directive (Two way databinding)
我不知道如何克服以下情况,我有一个指令,两个范围从父传递为"="表示模型绑定说attr1
和attr2
是那些值。
内部指令我在插值{{attr1}}
和{{attr2}}
中都使用了,我也在输入类型文本和电子邮件中使用了它作为模型。
当我改变attr1的值从文本框的值得到反映在插值{{attr1}}
,但在attr2
文本框的变化不反映在插值{{attr2}}
,虽然它得到绑定时输入一个有效的电子邮件id,但我需要显示电子邮件时,它被键入。
有什么方法可以解决这个问题吗?
我该怎么做呢?
小提琴在这里。
app.directive("myDirective", function(){
return {
restrict: "EA",
//replace:true,
//transclude:true,
scope: {
attr1: "=",
attr2: "="
},
template: [
"<div>attr1 : {{attr1}}</div>",
"<div>attr2 : {{attr2}}</div>",
"attr1 : <input type='text' ng-model='attr1' /><br/>",
"attr2 : <input type='email' ng-model='attr2' /><br/>",
].join(""),
};
谢谢,
Vinod路易
先生,这是html 5电子邮件验证的问题,除非您输入正确的电子邮件格式,否则您将不会显示html 5类型电子邮件具有验证格式a@b.c类似这样的键入字段。还有一件事,在你的代码中你写了my-directive,在directive中你写了myDirective。我已经解决了这个问题,请尝试在您的电子邮件字段中输入任何有效的电子邮件格式。实际上,ng-biding正在发生,但当你输入正确的电子邮件格式,文本将是可见的。小提琴
这是我的代码html<div ng-app="app">
<name attr1="Sudarshan" attr2="sud@gmail.com"></name>
</div>
ng-code
var app = angular.module("app", []);
app.directive("name", function(){
return {
restrict: "E",
link:function(scope,e,a){
scope.att1=a.attr1;
scope.att2=a.attr2;
},
template:
["<div>attr1 : {{att1}}</div>",
"<div>attr2 : {{att2}}</div>",
"attr1 : <input type='text' ng-model='att1' /><br/>",
"attr2 : <input type='email' ng-model='att2' /><br/>"].join(""),
};
});
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- Telerik rad组合框多列数据绑定
- 数据绑定:'系统Char'不包含名为'xxxxx'
- OnsenUI AngularJS数据绑定无法正常工作
- Ionic-item在导航栏中进行双向数据绑定
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- ListView的ItemTemplate内的自定义HtmlControl的数据绑定失败
- $http中的Angular 1数据绑定承诺不起作用
- 在何处和何时添加具有数据绑定的元素
- 使用AngularJs数据绑定的三元运算符显示图像
- 为什么针对工厂的Angular数据绑定只适用于函数
- 敲除:如何使用可见数据绑定可见来隐藏段落标记
- 在数据绑定中使用对象敲除绑定
- 如何在angularjs中检查Kendo树视图数据绑定事件
- 将json数据绑定到剑道网格
- AngularJS数据绑定中断ngRepeat+奇怪行为
- JavaScript HTMLElement 属性上的数据绑定 在 Polymer 中
- 输入类型text和email在angular指令中的行为不同(双向数据绑定)
- SAPUI5数据绑定- sap.m.Text