Angularjs和谷歌地图,在点击时将范围变量设置为地图中的值

时间:2014-05-13 18:43:48

标签: javascript angularjs google-maps

我认为这是angularjs中的问题,而不是特别错误地使用谷歌地图指令。

我使用类似指令的地图标记。

<map>
   <marker on-click="setSelected(e,item)"></marker>
</map>

并在我的控制器中

$scope.selectedItem = {};
$scope.setSelected = function(e,item){
 $scope.selectedItem = item;
 // console.log($scope.selectedItem)
}

当我记录selectedItem时,我得到了预期的结果,但是当我尝试在模板中使用变量时,它根本就不起作用

<p>{{selectedItem}}</p>

你认为这里的错误是什么。

1 个答案:

答案 0 :(得分:3)

将函数setSelected中的所有内容包裹在AngularJS $apply周围,如下所示:

$scope.setSelected = function(e,item){
    $scope.$apply(function () {
        $scope.selectedItem = item;
    });
}