2016-02-23 18 views
2

設置守望我想設置將運行一個函數,該函數領域的觀察家當templateOptions特定值的變化。當你想知道輸入已經改變時,可以使用普通的formly觀察器,所以對我來說不起作用。我已經嘗試了表達式屬性,但我不能讓它工作。角formly - 上templateOptions變量

我由js Bin,例如, 有兩個輸入字段時,您將鼠標放在一個字段templateOptions.mouseOver變得真實和鼠標離開鼠標懸停布爾爲假。我能做些什麼,以便在mouseOver更改某個功能時運行?

回答

0

你根本就提上了場的控制,如果你想這樣做,爲每個單獨的領域,或者你可以把它放在模板本身如果函數將每個字段相同,指定一個函數運行後在ng-mouseOver中。像這樣:

formlyConfigProvider.setWrapper([ 

     { 
     template: [ 
        'editorEnabled: {{to.editorEnabled}}', 
        '<div ng-mouseover="to.editorEnabled=true; Update()" ng-mouseleave="to.editorEnabled=false; Update()">', 
         '<formly-transclude></formly-transclude>', 
        '</div>' 
       ].join(' '), 
     controller: function($scope) { 
      $scope.Update = function() { 
       //Code to run when value changes 
      } 
     } 
     } 
    ]); 

如果您是在每個單獨領域做(如果你將要調用的函數將是每個字段不同),你會做:

vm.fields = [ 
     { 
     key: 'textField1', 
     type: 'input', 
     templateOptions: { 
      label: 'Input1', 
      type: 'text', 
      value:vm.model.textField1, 
      editorEnabled: false 
     }, 
     controller: function($scope) { 
      $scope.Run = function() { 
      alert('Changed!'); 
      } 
     } 
     },