我试图做这样的事情
使用此代码
<div class="row" id="passwordRow">
<div class=".col-80">
<input type="password" id="password" placeholder="Password" ng-model="user.password" ng-minlength="8" ng-required="true" ng-hide="showPassword" >
<input type="text" id="passwordRaw" placeholder="Password" ng-model="password" ng-show="showPassword">
</div>
<div class="col">
<i class="icon ion-eye" id="passwordView" on-touch="showPassword = !showPassword"></i>
</div>
</div>
但是,如果我输入内容并在第一次显示任何内容时按下它会发生什么。如果我输入并再次按下它,它会显示正确的值。
我做错了什么?
答案 0 :(得分:0)
在密码输入中,您将密码分配给控制器范围内的用户对象,而在第二个字段中,您保留rootScope的密码。因为没有任何东西所以它显示空输入。当您为text input
分配密码时,将在父作用域中创建密码属性。问题是这两个属性可能不同。恩。你可以第一次设置&#34; abc&#34;到password input
,当你点击按钮并得到text input
时输入abcdef。如果您再次更改回password input
,则会看到您的password input
长3个字母而不是5个字符,并且它具有您之前输入的原始值(&#34; abc&#34;)< / p>
答案 1 :(得分:-1)
您可以像这样删除 user from user.password :
<div class=".col-80">
<input type="password" placeholder="Password" ng-model="password" ng-minlength="8" ng-required="true" ng-hide="showPassword">
<input type="text" placeholder="Password" ng-model="password" ng-show="showPassword">
</div>
cz ng-model对于输入值
应该相同