我在使用点击时遇到了一个问题,我在下面的函数中使用了$watch,它在没有任何problems.But的情况下工作,当我在点击函数中使用它时,它不会受到影响。我在等待你的建议。
$scope.d = 1;
var mark = L.marker(L.latLng(veri.Konum.lat, veri.Konum.lon), { title: veri.Name, data: veri, content: "" });
mark.addTo(markersLayer);
mark.on('click', onClick);
function onClick(e) {
$scope.$watch("d", function () {
console.log("12313sadad");
});
}发布于 2016-09-20 22:03:39
你将watch放到一个不是由任何角度组件触发的函数中,因此angularjs不知道你在该函数中做了什么。
您应该使用一些角度组件(如ng-click、ng-change...)触发该函数。或者您应该在set watch之后调用$scope.$apply() (虽然不建议这样做,但如果没有其他选择,您应该这样做)……
发布于 2017-11-01 17:19:04
试试这个。
$scope.$watch(function() {
return variableToWatch;
}, function(newVal, oldVal) {
if (newVal !== oldVal) {
//custom logic goes here......
}
}, true);发布于 2016-09-20 22:03:06
试试这个:
function onClick(e) {
if( !$scope.isWatched ) {
$scope.$watch("d", function () {
console.log("12313sadad");
$scope.isWatched = true;
});
}
}https://stackoverflow.com/questions/39596134
复制相似问题