検索

ホームページ  >  に質問  >  本文

angular.js - angular ng-focus ng-blur 存在问题

-.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失去焦点后,提示信息不再显示。

仅有的幸福仅有的幸福2744日前552

全員に返信(2)返信します

  • 滿天的星座

    滿天的星座2017-05-15 17:09:46

    ng-blur 式を書き込むだけです
    ng-blur="isHide"

    コントローラーの isHide に値を割り当てる
    $scope.isHide=true;

    ng-focusでも同様です

    公式ウェブサイトのドキュメント

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:09:46

    この若者、姿勢に何か問題があるのではないかと思います。

    リーリー

    如果还有问题,我保证让你自切jj

    ---------------------------------ふふふ---------- ----- ------------------------

    リーリー

    コンソールを開いてエラーメッセージを確認し、問題を解決してください。

    返事
    0
  • キャンセル返事