$ watch不起作用

时间:2014-11-21 20:41:55

标签: javascript angularjs

在项目中未更改调用Watch。它适用于加载,并正确加载地图。但是当我用下拉列表更改event_type时,它永远不会在函数内部。我查看了concole.log

实际event_type确实发生了变化,它会在屏幕上显示{{ event_type.type }}

的新值
$scope.event_type = { id: 0, type:'All' }
$scope.$watch( 'event_type', function(val) {
    $scope.markers = Events.venues(val.type)
    }, true)

1 个答案:

答案 0 :(得分:1)

我认为这叫做深潜或深度观看。无论如何,它是你想要设置为真的$ watch的第3个参数。

您还可以将新值作为参数传递,而不是从event_type中读取。如下所示。

$scope.$watch( 'event_type', function(newVal) {
    $scope.markers = Events.venues(newVal.type)
}, true);

这是一个掠夺者:http://plnkr.co/edit/YMmVPKDMeUcK5Pvz2Z0z?p=preview

如果这里的内容没有意义,请告诉我。