2016-02-09 40 views
0

我有大约40个输入字段,并且它们都共享应用ng类的相同逻辑。所以,与其在纳克级的重复的逻辑,我决定来定义一个函数并调用它像这样:AngularJS:将ng-model传递给函数

<input ... ng-model="modelProperty" ng-class="GetHighlightingClassByNumericValue(modelProperty)" /> 

考虑到我有40多个输入字段,我不能复制和粘贴,因为模型属性是不同的。我想知道是否有方法将ng模型值传递给函数。

+0

为什么不把所有车型中的数组,并使用'NG-repeat'? –

+0

Hmm是以这种方式公开的$ modelValue,还是只有当您在自定义指令中公开ngModelController时才是这种情况? –

+0

我有一个包含40列的表格,每列都有一个绑定到不同模型属性的输入。我想避免必须调用指定模型属性的函数。 –

回答

2

一种选择是要做到:

.directive('modelToClass', modelToClassDirective); 

function modelToClassDirective() { 
    return { 
    restrict: 'AE', 
    scope: { ngModel: '=' }, 
    template: '<input ng-class="doSomethingWithInputModel(ngModel)" ng-model="ngModel" /> 
    } 
} 
+0

你会如何使用它?你能够在不同的输入字段中使用这个指令具有不同的样式或属性吗? –

+0

你描述过'GetHighlightingClassByNumericValue(modelProperty)'函数是什么生成一个类?该功能在哪里生活? –

+0

该函数在同一个控制器中声明。 –