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();