我有一个指令应该在控制器变量更改时打开文件选择器窗口。这是指令的片段:
angular.module('settingsInternal')
.directive('triggerUpload', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element) {
scope.$watch('mainCtrl.watchedVariable', function (variable) {
if (variable) {
$timeout(function () {
element.triggerHandler('click');
}, 20);
}
});
}
};
});
我遇到的问题是我无法在 div 上触发 ngf-select。手动单击 div 时它工作得非常好,并且 watch 函数正确调用 element.triggerHandler('click') 。我浪费了几个小时试图找出这不起作用的原因,如果有人遇到类似的问题,请帮助我找出问题所在。
Ps 不要注意变量名,它们是为了演示目的。