我试图用scopewatcher触发我的指令代码:
var gMaps = function($timeout, $q, GeoCoder, mockdataService) {
return {
restrict: 'EA',
template: '<div class="gmaps"></div>',
replace: true,
link: function postLink(scope, iElement, iAttrs) {
$scope.watch(scope.lat, function() {...
当我更改窗体上的lat属性时,它不会触发指令上的函数吗?
答案 0 :(得分:0)
你只有错误的$
部分。 $watch
是附加到名为scope
的变量的方法。只需使用scope.$watch
代替$scope.watch
。
答案 1 :(得分:0)
首先,您必须使用scope.$watch(...)
代替$scope.watch(...)
,因为您scope
函数中有$scope
(不是link
)作为参数。您在$
watch
你也应该像这样使用$ watch
scope.$watch('lat',function(newVal, oldVal){
//this will watch scope.lat
});
或
scope.$watch(function(){
return scope.lat
},
function(newVal, oldVal){
//this function will be fired everytime first function return other value than before
});