如何包含 Angular ngMessage 模板

How to include Angular ngMessage template

我的表格很大,正在查看 ngMessages。我想实现这个:

<script type="text/ng-template" id="error-messages">
<div ng-message="required">This field is required</div>
<div ng-message="minlength">This field is too short</div>
</script>

我会做一个工厂方法吗?所以我可以在许多不同的控制器上使用它?作为项目会有很多形式吗?如果这是正确的方法,我不确定如何将其包含在工厂中。我是这么想的,对不对

(function() {
"use strict";
angular.module("minorApp")
    .factory("errorMessage", []);
function errorMessage() {
    return // some template
}
})();

您可以将模板添加到 angular 的模板缓存中:

var myApp = angular.module('myApp', []);
myApp.run(function($templateCache) {
  $templateCache.put('error-messages.html', '<div ng-message="required">This field is required</div><div ng-message="minlength">This field is too short</div>');
});

然后,在要使用 ng-include 包含它的 html 文档中引用它。

<div ng-include src="'error-messages.html'"></div>

如果您使用的是像 gulp 这样的构建系统,您可以将 html 保留在 .html 文件中,并使用 https://www.npmjs.com/package/gulp-angular-templatecache 插件自动执行将它们添加到 angular 的模板缓存中。