Angularjs ngMessages未显示非验证消息的消息

时间:2015-06-26 11:23:19

标签: angularjs flash-message ng-messages

我正在尝试使用ngMessages指令,为自动保存的富文本编辑器显示两条不同的消息......这些消息只是“已保存”和“正在保存...”

我在控制器上公开了一个变量,该变量返回一个函数,该函数从控制器后面的服务返回一个属性(显然这是获得双向绑定的唯一方法)。

<div class="col-md-2" ng-messages="saveStatus" role="alert">
    <div ng-message="saving">Saving changes.....</div>
    <div ng-message="'saved'">SAVED!</div>
</div>

我的控制器变量非常简单

$scope.saveStatus = function () {
     return reportService.status;
}

我的服务只是在私有变量上放置一个get访问器

 get status() {
       return privateStatus;
 }

在我的Chrome开发工具中,我可以看到saveStatus在范围内并返回功能。即使我不使用某个功能(因此该消息应始终说“已保存!”),该消息仍然不会出现....

输出似乎是由ngMessages格式化的,所以我认为它已加载并可用,但我在网上找不到他们没有使用$ errors集合的任何例子!

<div class="col-md-2 ng-inactive" ng-messages="saveStatus" role="alert">
    <!-- ngMessage: saving -->
    <!-- ngMessage: saved -->
</div>

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。

根据文档,可以将ng-messages指令与键/值集合相关联,$error只是集合的一个示例:

  

ngMessages指令侦听键/值集合   在ngMessages属性上设置。由于ngModel指令公开   $ error对象,此错误对象可与ngMessages一起使用   以比常规方式更容易的方式显示控制错误消息   角度模板指令。

尝试更新您的服务以返回集合对象,例如报告“保存”情况尝试返回{saving:true}。这对我有用。