如果你想为每个单独的字段做一个控制器,你可以简单地在字段上放置一个控制器,或者你可以把它放在模板本身如果每个字段的功能相同,在指定一个函数后运行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!');
}
}
},