我有一个应用程序作为调用的一部分,返回一个JSON字符串,除了其他详细信息之外还包括密码。现在,在这个特定的屏幕中,当你处于查看模式时,我想在一个范围内显示屏蔽密码(*******),而如果你点击编辑按钮,我会显示密码输入字段。
这是我第一次使用AngularJS,并试图查看是否有一些过滤器可以帮助我,但是没有走得太远。是否有一些其他服务可以用来掩盖密码并在一个范围内显示它?
答案 0 :(得分:3)
您好,您可以通过以下方式实现这一目标:
//html
<span ng-show="showpassword" type="password">{{password | passwordFilter}}</span>
<input ng-hide="showpassword" type="password" ng-model="password">
<input type="checkbox" ng-model="showpassword" ng-checked="false">
//js file
app.filter('passwordFilter', function() {
return function(input) {
var split = input.split('');
var result = "";
for(var i = 0 ; i < split.length ; i++){
result += "*";
}
return result;
};
});
答案 1 :(得分:0)
你可以编写一个简单的过滤器来将字符串屏蔽成一些重复的字符:
function passwordMask(aString) {
return Array(aString.length + 1).join("*");
}
angular.module("someModule")
.filter("pwMask",function(){
return passwordMask;
});
然后你可以在角度表达式中使用{{password | pwMask}}
。