2013-04-05 131 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