I’m in a directive, and I would like to do a union $watch on a variable that exists on the local $scope and one that exists on $rootScope. It would look something like:
myapp.directive('cohnbread',
['TEMPLATE_URL', '$rootScope',
function(TEMPLATE_URL, $rootScope) {
return {
templateUrl: TEMPLATE_URL + "cohnbread.html",
scope: { odp: '@' },
link: function(scope, elem, attrs) {
// here I would like to register a callback to fire
// whenever scope.bar or $rootScope.foo fires. Something like:
$watchBoth('scope.bar', '$rootScope.foo', onBarOrFooChange);
}
};
}]);
Is there a workaround to make this happen?
Edited to provide more info.
If you’re just wanting to fire a callback when one or the other changes, just setup a
$watchfor each one. For example:or if your directive has an isolated scope, you could setup the
$watchforfoolike this: