-.html
<input type="text" ng-focus="display = false" ng-blur="display = true" ng-init="display = true">
<p ng-show="display">aaa</p>
如上述代码,focus/blur可以正常控制p标签的显示与隐藏
-.html
<input type="text" ng-focus="display = false" ng-blur="hide()" ng-init="display = true">
<p ng-show="display">aaa</p>
-controller.js
$scope.hide = function (){
$scope.display = true;
};
上述代码只要focus input,display一直为false, 求解。
续:
老衲服了,贴出项目代码如下:
-.html
<p class="form-group">
<label class="form-label">应用名:</label>
<span class="desc" ng-show="applyTips"
ng-init="applyTips = true"> 应用名是您将要创建的应用的名称,组织内唯一</span>
<span class="warn" ng-show="applyNameExit">应用名已存在,请重新输入</span>
<span class="warn" ng-show="login.applyName.$error.pattern">您的应用名不正确</span>
<p class="controls">
<input type="text" name="applyName" class="form-control"
ng-model="param.deployment.metadata.name"
ng-pattern="/^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/" ng-focus="applyTips=false"
ng-blur="login.applyName.$error.pattern ? applyTips = false : nameIsExit();"
required>
</p>
</p>
-controller.js
$scope.nameIsExit = function (){
if($scope.param.deployment.metadata.name !='' && $scope.param.deployment.metadata.name != undefined){
var param = {
orgId: $localStorage.orgId,
userId: $localStorage.userId,
sessionId: $localStorage.sessionId,
"name": $scope.param.deployment.metadata.name
};
deploymentService.applyNameisExit(param, function(res){
if(res.code == 1415){
$scope.applyTips = false;
$scope.applyNameExit = true;
$scope.submit = function(){
return;
}
}else{
$scope.applyTips = true;
$scope.applyNameExit = false;
}
});
}
else{
$scope.applyTips = true;
}
};
input失去焦点后,提示信息不再显示。
滿天的星座2017-05-15 17:09:46
ng-blur 里面写表达式就行
ng-blur="isHide"
在控制器中对isHide赋值
$scope.isHide=true;
同理ng-focus里面也一样
官网文档
伊谢尔伦2017-05-15 17:09:46
这位少年,我怀疑你姿势有问题。
<body ng-app="myApp">
<p ng-controller="MyCtrl">
<input type="text" ng-focus="display = false" ng-blur="hide()" ng-init="display = true">
<p ng-show="display">aaa</p>
</p>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('MyCtrl',function($scope){
$scope.hide = function (){
$scope.display = true;
}
});
</script>
</body>
如果还有问题,我保证让你自切jj
-------------------------------呵呵哒---------------------------------------
$scope.param = {
deployment:{
metadata:{
}
}
}
打开控制台看下错误信息就能解决了。