2013-04-05 135 views
2

我有一个简单的窗体,带有两个输入框number类型。当我尝试通过指令添加max属性时,它似乎忽略它并且不验证,尽管属性被添加到了dom元素上。 当我添加它内联它的作品。我把这个问题AngularJs can't read dynamically set attributes但这似乎没有帮助我。新angularJS和完全无能。动态添加的属性在angularjs中不起作用

任何帮助表示赞赏。

编辑:更新小提琴 演示http://jsfiddle.net/tNUNh/6/

回答

2

看上去并不furthuer,而是一个解决方案,您必须是重新编译元素每次你改变它的最大值。

只需改变注入$compilemodule.directive('type', ['$compile', function ($compile) {)和attr.$set('max', '100')后调用$compile(element)(scope)

这看起来不太合适,但我需要进一步查看input指令代码,以查看它是否暴露了一种方法来更改它,而无需重新编译。

+0

嘿我更新了小提琴,如你所建议的,它导致异常。你介意看看这个:http://jsfiddle.net/tNUNh/9/ – 2013-04-06 08:51:58

+0

有没有办法获得输入指令并重新链接这个元素?像这样:angular.modules('ng')。directive('input')。link(scope,element,attrs)。 $编译(元素)(范围)会引发递归错误... – 2013-08-13 14:12:08

+0

好吧,我明白了。另请参阅:http://stackoverflow.com/questions/13459705/dynamically-adding-angularjs-directives/18220339#18220339 – 2013-08-13 22:32:25