2014-09-24 89 views
0

我有一個屬性指令,我用它來將輸入字段的值發送到我的服務器(my-auto-save),並且工作正常。現在我想向該指令添加驗證我的值的功能,並且只有在成功的情況下才會將值發送到服務器。如何將多個函數傳遞給Angular中的屬性指令?

爲此,我想過增加另一個屬性來我的標籤,像這樣:

<input type="text" my-auto-save="saveHandler(field, value)" my-auto-save-validations="validateNumeric(value)" />

我自動保存指令是這樣的:

myMod.directive("myAutoSave", 
    function() { 
     return { 
      restrict: "A", 
      scope: { 
       saveHandler: "&myAutoSave" 
      }, 
      require: "ngModel", 
      link: function (scope, elm, attr) { 
       var fieldName = "test"; 
       var newValue = "new value test"; 
       scope.saveHandler({fieldChanged: fieldName, newValue: newValue}); 
      } 
     }; 
    } 
); 

現在,調用scope.saveHandler前我怎麼能調用我的驗證函數將newValue值傳遞給它?

我知道如何訪問它像attr.myAutoSaveValidations但我不知道如何正確地調用傳遞這樣的功能...

回答

1

你可以更多的東西添加到您的範圍:

scope: { 
    saveHandler: "&myAutoSave", 
    validationFunction: "&myAutoSaveValidations" 
},