2015-10-08 42 views
0

我已經創建了自定義指令來顯示頁面中的錯誤消息。我的指令是使用自定義指令隱藏div部分

 app.directive('errorsection', function() { 
    return { 
     restrict: 'EA', 
     scope: { 
     errors: '=errors' 
    }, 
    templateUrl: '..../shared/error-section.html' 
    }; 
     }); 

錯誤section.html

<div ng-show="errors.length>0" class="error"> 
    <div id="{{error.Id}}" ng-class="{'error':error.Type=='Error','alert-info alert-dismissible cssDataTargetDismiss-{{error.Id}} fade in':error.Type=='Info'}" 
    ng-repeat="error in errors track by $index"> 
    <button ng-if="error.Type=='Info'" type="button" class="close" data-toggle="collapse" data-target=".cssDataTargetDismiss-{{alert.Id}}">×</button> 
    <p><strong ng-bind-html="error.TypeDescription"></strong><span ng-bind-html="error.Message"></span></p> 
</div> 

我已經在我的部分頁面的一個使用這個指令來顯示錯誤消息

<div error-section errors="errorList"></div> 

這errorList包含2條消息。如果我點擊該按鈕,消息將被摺疊。我想隱藏在div如果崩潰所有的出錯信息.. 錯誤信息被顯示在圖像下面的格式,

 ______________ 
    |error1  x| 
    |error2  x| 
     _______________ 

誰能幫助如何隱藏DIV?

+0

請花時間看你的問題的預覽befor ehitting發,特別是消費注意你的代碼看起來的問題。未格式化的代碼非常難以閱讀,使人們不太可能幫助您。 – LionC

回答

0

嘗試

<div ng-show="errors.length>0 && message !== 0"> 
    <div id="{{error.Id}}" ng-class="{'error':error.Type=='Error','alert-info alert-dismissible cssDataTargetDismiss-{{error.Id}} fade in':error.Type=='Info'}" 
     ng-repeat="error in errors track by $index"> 
     <button ng-click="message -= 1" ng-if="error.Type=='Info'" type="button" class="close" data-toggle="collapse" data-target=".cssDataTargetDismiss-{{alert.Id}}">×</button> 
     <p><strong ng-bind-html="error.TypeDescription"></strong><span ng-bind-html="error.Message"></span></p> 

,並在指令控制器採取的消息的長度,並給它$ scope.message。

+0

在指令中我做了什麼改變 – John

0

更改指令使用,而不是替代:

app.directive('errorsection', function() { 
    return { 
     restrict : 'EA', 
     scope : { 
      errors : '=errors' 
     }, 
     replace: true, //tell it to replace 
     templateUrl : '..../shared/error-section.html' 
    }; 
}); 

這將讓這個

<div error-section errors="errorList"></div> 

而且

<div ng-show="errors.length>0" class="error"> 

是同一div像這樣:

<div error-section errors="errorList error" ng-show="errors.length>0"> 
    ... 
</div> 

至於反對:

<div error-section errors="errorList"> 
    <div ng-show="errors.length>0" class="error"> 
     ... 
    </div> 
</div>