我有一个增加计数器的按钮。计数从Angular世界中显示,而按钮在Angular世界之外。我可以通过使它成为全局(是的,丑陋的)来获得角度世界的价值,但是我如何获得一些Angular代码来使用$ apply来更新它的$ digest循环? (基于该点击事件)
BTW:我知道我可以使用ng-click将点击事件带入Angular,但出于好奇,我想知道如何在不这样做的情况下解决这个问题。这里是plnk: https://plnkr.co/edit/UTElTmggj3ae2c19bsL1?p=preview
var gCounter = 0;
$(function() {
$('#btn').on('click', function() {
console.log('click!')
gCounter++;
})
});
(function() {
var app = angular.module('app', []);
var ctrl = app.controller('ctrl', Ctrl);
function Ctrl($scope) {
$scope.$watch(function() {
return gCounter
}, function(newVal, oldVal) {
$scope.counter = newVal;
});
}
}
}());
答案 0 :(得分:0)
您可以获取与单击按钮关联的范围,然后使用
调用$apply()
$(this).scope().$apply();