我在下面有以下代码片段。我遇到的问题是,只要 modal.isOpen 的值设置为 true,$watch 语句就不会触发。我试图避免使用 scope.$apply。我在这里做错了什么......
Angular 指令中的内部链接函数:
link: function (scope, elem, attrs) {
scope.$watch('modal.isOpen', function(newValue, oldValue) {
if (newValue)
console.log("This does not trigger...");
}, true);
$document.bind('keydown', function (e) {
if(e.keyCode >= 48 && e.keyCode <= 90) {
scope.modal.isOpen = true;
elem.find('input')[0].focus();
}
..........
});