私のディレクティブはスパンにフォーカスを与え、boolean値を割り当てます。つまり、shifttab を押すたびに focusToSpan を true に割り当てますが、この変更はコントローラーとテンプレートに反映されません。以下のように focusToSpan 変数の $scope.$watch でチェックしました
指令
(function() {
'use strict';
angular.module("my.page").directive('getFocusToSpan', function() {
return {
link: function(scope, elem, attr, ctrl) {
elem.bind("keydown keypress", function(event) {
if (event.which === 16) {
$('.iconclass').attr("tabIndex", -1).focus();
scope.focusToSpan = true;
}
});
}
};
});
})();
コントローラ
$scope.$watch('focusToSpan', function(newValue) {
if (angular.isDefined(newValue)) {
alert(newValue);
}
});
ディレクティブでコントローラー変数に加えられた変更が、コントローラーとテンプレートにどのように反映されるかを知っていますか。ありがとう、バラジ。