1

각도 목록과 상호 작용하는 선택 상자가 있으며 정상적으로 작동합니다. 선택 상자는 'citta'필드를 처리하며 값을 변경하면 목록이 필터링됩니다.infoWindow를 통해 동적으로 필터 변수를 설정하는 Angularjs

ng-model="queryLoc.citta" 

모든 것을하기 전에, 나는 구글지도의 정보창 내부 버튼 클릭에서 queryLoc 값을 설정할 이제 변수

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

을 istantiate. 내가 버튼을 클릭하면,이 코드

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

이 기능 filtraLoc가하고있는 무엇을 filtraLoc'using 기능 '호출합니다. 당신이

{ 
    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' 
} 

를 볼 수있는 내 JSON에서

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

나는 속성 '시타'를 가지고 있지만 필터가 작동하지 않습니다! 브라우저의 콘솔로 인해 오류가 발생하지 않기 때문에 아이디어가 부족합니다.

저에게 줄 수있는 도움이나 조언을 보내 주셔서 감사합니다.

답변

1

는 해결이에

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

:

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

그냥 다이제스트 $를 사용하여이의 코드를 변환 할 필요가