JSFiddle 在这里:
问题描述如下,我有一个控制器包装了一个包含一些逻辑的表单,并且不能在指令哈希中定义为控制器:
我需要能够从指令中动态填充字段,如下所示:
App.Directive.SomeAwesomeDirective = ->
restrict: 'C'
link: (scope, element, attrs) ->
someValue = scope.someValue
field = element.find(".some-class")
scope.fieldValue = someValue
field.ngModel = "scope.fieldValue"
field.ngClass = "scope.someAwesomeClass"
monitorFields = (newValue, oldValue) ->
console.log "we are here"
console.debug newValue
console.debug oldValue
scope.addValue(newValue)
scope.$watch "scope.fieldValue", monitorFields, true
我需要满足以下条件:
1) 当 textfields 值改变时,我希望 scope.fieldValue 被更新。2) 发生这种情况后,我希望使用新值调用 addValue 方法(在包装控制器上定义)以进行验证。3) addValue 方法应该设置 someAwesomeClass 范围变量,并且输入字段类应该更新。4) 要应用的 ngClasses 是 ng-valid/ng-invalid。表单验证应该与这些类对应地正确运行
从我的 jsfiddle 中可以看出,这些事情目前都没有发生,我不确定为什么......
谢谢!