我是angularJs的新手....我正在尝试编写一个指令,将输入框包装在一个表单标记中,然后是一个包含验证的“div”。验证无效。 plunker链接:PLUNKER
我使用以下代码
包装输入标记var getHtml = function(){
return '<div data-ng-show="myform.myfield.$error.required &&myform.myfield.$dirty ">field is required</div>';
}
element.attr('name','myfield');
element.wrap('<form name="myform"></form>');
element.after(getHtml());
答案 0 :(得分:3)
那是因为你没有编译form
元素。
代替:
$compile(element.contents())(scope);
你必须:
$compile(element.parent())(scope);
但是这本身会导致无限循环的编译,所以你必须在编译之前删除cs-options
属性。此外,您必须在预编译而不是后编译(即链接阶段)中执行此操作。