Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在控制器引发的index.html中显示错误消息_Javascript_Angularjs_Error Handling - Fatal编程技术网

Javascript 在控制器引发的index.html中显示错误消息

Javascript 在控制器引发的index.html中显示错误消息,javascript,angularjs,error-handling,Javascript,Angularjs,Error Handling,我试图通过按下相关按钮来实现凭证系统,如果用户没有资格享受折扣,我希望它在页面上显示唯一的错误消息 <tr name="vouchers"> <td> <button type="button" class="btn" id="five-pound-voucher" ng-click="ctrl.addFiveVoucher()">£5 off voucher </button> <button type=

我试图通过按下相关按钮来实现凭证系统,如果用户没有资格享受折扣,我希望它在页面上显示唯一的错误消息

    <tr name="vouchers">
  <td>
    <button type="button" class="btn" id="five-pound-voucher" ng-click="ctrl.addFiveVoucher()">£5 off voucher
    </button>
    <button type="button" class="btn" id="ten-pound-voucher" ng-click="ctrl.addTenVoucher()">£10 off voucher
    </button>
    <button type="button" class="btn" id="fifteen-pound-voucher" ng-click="ctrl.addFifteenVoucher()">£15 off voucher
    </button>
  </td>
  <td></td>
  <td>DISPLAY ERROR MESSAGE HERE</td>
  <td></td>
  <td></td>

有没有办法在不使用flash消息或jquery的情况下使用angular显示此错误消息。ng消息似乎不适合使用。任何帮助都将不胜感激

抛出错误应仅用于技术用例,而不用于应用程序逻辑


使用一个服务发布一个新的“错误”和一个指令,这将呈现“错误”-请查看。互联网上有成百上千的实现。选择最适合您的一个。

我会将错误推送到控制器端的数组中,并如下所示显示:

<div class="alert alert-danger" ng-show="validationErrors.length">
  <ul>
    <li ng-repeat="error in validationErrors">
    {{error}}
    </li>
  </ul>
</div>

  • {{error}}
在您有

<td>DISPLAY ERROR MESSAGE HERE</td>


看看这个:这似乎是一种很有趣的方法,但是一直只显示错误块,而不显示文本,我将对其进行一次尝试,看看是否可以将其付诸实施。啊,是的,这很容易修复。我会在上面调整。您只需要在errorMessage属性的错误块上有一个ng if。只有当errorMessage中有内容时,才会在DOM中出现该错误块。
<td>DISPLAY ERROR MESSAGE HERE</td>
<div class="alert alert-danger" role="alert" ng-if="errorMessage">
  <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
  <span class="sr-only" data-ng-bind="errorMessage"></span>
</div>
else {
    throw new Error("Not Eligible for £15 discount")
}
else {
    //possibly $scope.errorMessage depending on how you use your controller
    self.errorMessage = "Not Eligible for £15 discount"; 
}