2016-02-09 43 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

該函數在同一個控制器中聲明。 –