Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 2个输入字段上的单向数据绑定_Javascript_Angularjs - Fatal编程技术网

Javascript 2个输入字段上的单向数据绑定

Javascript 2个输入字段上的单向数据绑定,javascript,angularjs,Javascript,Angularjs,在我的注册表上,我有名字、姓氏和显示名字段。更新firstname时,我希望该值反映在displayname字段中(如果该字段还没有值) 我已经将更新设置为在模糊时发生,当我直接检查元素的displayname时,我看到value属性设置为firstname值。然而,这并没有反映在屏幕上或模型中。我确信这是因为该字段在user.displayname(最初为空)中消失了 在输入显示中删除ng型号指令 <input type="text" placeholder="Display" va

在我的注册表上,我有名字姓氏显示名字段。更新firstname时,我希望该值反映在displayname字段中(如果该字段还没有值)

我已经将更新设置为在模糊时发生,当我直接检查元素的displayname时,我看到value属性设置为firstname值。然而,这并没有反映在屏幕上或模型中。我确信这是因为该字段在
user.displayname
(最初为空)中消失了


输入
显示中删除
ng型号
指令

<input type="text"  placeholder="Display"  value="{{user.firstname}}"/>

这是你的电话号码


如果您使用的是
ng model
angular,请尝试查找该型号名称的值,因此文本框不会更新,因为该型号名称
用户没有值。displayname

另一种替代方法是在第一次输入时触发并观察鼠标事件

<input type="text" ng-model="user.firstname" ng-mouseleave="checkDisplayName($event)" />


这确实会更新它。但是,我希望
displayname
成为模型的一部分。当用户进入表单时,在填写
firstname
字段时,我希望将该值设置为
displayname
。当然,如果用户不希望显示名成为自己的名字,可以更改显示名。同样,如果
displayname
已经有一个值,对
firstname
的任何更改都不应该覆盖它。感谢您的回复,但是我不知道触发鼠标事件是否准确,特别是因为表单通常是通过键盘(
tab
)导航的。至于到目前为止我遇到的问题,
$watch
似乎是我目前更好的解决方案。
<input type="text"  placeholder="Display"  value="{{user.firstname}}"/>
<input type="text" ng-model="user.firstname" ng-mouseleave="checkDisplayName($event)" />