2015-09-07 66 views
0

我想知道是否有一種方法來觀看我的指令中的所有$$ isolateBindings?在AngularJS中觀看isolatebindings集合?

$scope.$watch('$$isolateBindings', function() { 
    console.log('watch me plse'); 
}); 

現在我這樣做是這樣的:

var isolateBindings = [] 

angular.forEach($scope.$$isolateBindings, function(item) { 
    isolateBindings.push(item.attrName) 
}); 



var watchIsValid = $scope.$watchGroup(isolateBindings, function() { 
    console.log('do somthing'); 
}); 
+1

這是什麼目的?大多數'$$'前綴對象,包括'$$ isolateBindings',僅供內部使用。你是否試圖以某種方式修改角函數的核心?這絕對是一個XY問題。 – Claies

+0

我的目的是在輸入字段發生變化時執行某些操作。 –

+0

爲什麼你不會在這種情況下觀看模型的價值?或者使用ng-change?這似乎仍然是一種非常規的方法,並不清楚你爲什麼試圖用這種方式來處理你的問題。 – Claies

回答

0

我想那一定是

var isolateBindings = Object.keys(scope.$$isolateBindings || {}); 
var watchIsValid = $scope.$watchGroup(isolateBindings, function() { 
    console.log('do somthing'); 
}); 

這些是觀看範圍特性,而不是屬性。

這是不可能的,有另一種簡單的方法來做到這一點。其原因可能是有爭議的,但這種做法足以讓人不敢再進一步觀察。