我正在使用ngMessages进行表单验证。我面临的问题是我的html是通过javascript动态创建的,而angular.message.js在此之前加载。所以我想在创建所有动态HTML元素时触发ngMessage。
答案 0 :(得分:0)
ngMessages
指令由数据绑定中使用的form
,$rootScope
或$scope
对象的更改初始化。 ngMessage
指令用于绑定父节点,每个ngMessages
指令用于绑定到值为true
或false
的特定子节点。
使用以下过程:
templateCache
templateCache
ngMessages
指令指定的键值设置为true
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-messages.js"></script>
<script>
angular.module('foo', ['ngMessages']);
</script>
<script>
function bop(model, view)
{
var i = 0, len = 100000, buz = "";
for (i; i < len; i++)
{
buz = buz.concat(i);
}
bop.cache.put('listContent', buz);
view.loaded = true;
return model;
}
function baz($templateCache)
{
bop.cache = $templateCache;
return bop;
}
baz.$inject = ['$templateCache','$rootScope'];
angular.module('foo').filter('baz', baz);
</script>
<div ng-app="foo">
<form name="myForm">
<label>Check Me<input type="checkbox" ng-model="$root['required']"></label>
<div ng-include="'listContent' | baz:myForm"></div>
<div ng-messages="$root" style="color:green" role="alert">
<div ng-message="required"></div>
</div>
<div ng-messages="myForm">
<div ng-message="loaded" style="color:blue">Loaded</div>
</div>
</div>
&#13;
<强>参考强>