ngMessages ディレクティブを使用して、自動保存するリッチ テキスト エディターの 2 つの異なるメッセージを表示しようとしています...単純に「保存済み」と「保存中...」です。
コントローラーの背後にあるサービスからプロパティを返す関数を返すコントローラーの変数を公開しました (明らかにこれが双方向バインディングを取得する唯一の方法であるため)。
<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 がスコープ内にあり、機能を返していることがわかります。関数を使用しなくても (メッセージは常に「SAVED!」と表示されるはずです)、メッセージは表示されません....
出力は ngMessages によってフォーマットされているように見えるので、ロードされて利用可能だと思いますが、$errors コレクションを使用していない Web 上の例は見つかりません!
<div class="col-md-2 ng-inactive" ng-messages="saveStatus" role="alert">
<!-- ngMessage: saving -->
<!-- ngMessage: saved -->
</div>