コントローラー変数が変更されたときにファイル ピッカー ウィンドウを開くディレクティブがあります。ディレクティブのスニペットは次のとおりです。
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 変数名に注意を払わないでください。それらはデモンストレーション用です。