1

我有一个与角度列表交互的选择框,它工作正常。选择框处理'citta'字段,当我改变它的值时,列表被过滤。Angularjs通过infoWindow动态设置过滤器变量

ng-model="queryLoc.citta" 

一切之前,我istantiate变量

$scope.queryLoc = { citta: ''}; 

现在我想从谷歌地图的信息窗口内的按钮,点击设置queryLoc值。当我按一下按钮,我调用函数“filtraLoc'using这个代码

angular.element(document.getElementById('eventCont')).scope().filtraLoc(citta); 

这是什么功能filtraLoc在做什么。

$scope.filtraLoc = function(city){ 
    $scope.queryLoc = {citta: city}; 
}; 

在我的JSON我有属性“心识”,你可以看到

{ 
    immagine:'/upload/cms/770_x/Lonato(2).jpg', 
    linkScheda: '/cms-01.00/articolo.asp?IDcms=77193&s=269', 
    nome: 'MERCATO CONTADINO A LONATO DEL GARDA', 
    citta: 'Lonato del Garda', 
    data: 'OGNI SABATO MATTINA DALLE ORE 8 ALLE 13', 
    categoria: '', 
    latitudine: '8', 
    longitudine: '82', 
    show: 'false' 
} 

,但过滤器不能正常工作!因为浏览器的控制台,我也没有给出任何错误。

谢谢你的任何帮助或提示,你可以给我。

回答

1

解决:

只需要使用$消化,从这个转换代码:

angular.element(document.getElementById('eventCont')).scope().filtraLoc(citta); 

这样:

var tmp = angular.element(document.getElementById('eventCont')); 
tmp.scope().queryLoc = {citta: city}; 
tmp.scope().$digest();