Angularjs 通过 infoWindow 动态设置过滤器变量
Angularjs setting filter variable dynamically via infoWindow
我有一个与 angular 列表交互的 select 框,它工作正常。 select 框处理 'citta' 字段,当我更改它的值时,列表被过滤。
ng-model="queryLoc.citta"
在一切之前,我实例化变量
$scope.queryLoc = { citta: ''};
现在我想通过单击 google 地图的信息窗口内的按钮来设置 queryLoc 值。当我单击按钮时,我使用此代码调用函数“filtraLoc”
angular.element(document.getElementById('eventCont')).scope().filtraLoc(citta);
这就是函数 filtraLoc 正在做的事情。
$scope.filtraLoc = function(city){
$scope.queryLoc = {citta: city};
};
在我的 json 中,我有 'citta' 属性,如您所见
{
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'
}
但是过滤器不起作用!我 运行 也没有想法,因为浏览器的控制台没有给我任何错误。
感谢您给我的任何帮助或提示。
已解决:
只需要使用 $digest 并从中转换代码:
angular.element(document.getElementById('eventCont')).scope().filtraLoc(citta);
对此:
var tmp = angular.element(document.getElementById('eventCont'));
tmp.scope().queryLoc = {citta: city};
tmp.scope().$digest();
我有一个与 angular 列表交互的 select 框,它工作正常。 select 框处理 'citta' 字段,当我更改它的值时,列表被过滤。
ng-model="queryLoc.citta"
在一切之前,我实例化变量
$scope.queryLoc = { citta: ''};
现在我想通过单击 google 地图的信息窗口内的按钮来设置 queryLoc 值。当我单击按钮时,我使用此代码调用函数“filtraLoc”
angular.element(document.getElementById('eventCont')).scope().filtraLoc(citta);
这就是函数 filtraLoc 正在做的事情。
$scope.filtraLoc = function(city){
$scope.queryLoc = {citta: city};
};
在我的 json 中,我有 'citta' 属性,如您所见
{
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'
}
但是过滤器不起作用!我 运行 也没有想法,因为浏览器的控制台没有给我任何错误。
感谢您给我的任何帮助或提示。
已解决:
只需要使用 $digest 并从中转换代码:
angular.element(document.getElementById('eventCont')).scope().filtraLoc(citta);
对此:
var tmp = angular.element(document.getElementById('eventCont'));
tmp.scope().queryLoc = {citta: city};
tmp.scope().$digest();