【问题标题】:Angularjs setting filter variable dynamically via infoWindowAngularjs通过infoWindow动态设置过滤器变量
【发布时间】:2015-03-13 14:34:57
【问题描述】:

我有一个与角度列表交互的选择框,它工作正常。选择框处理“citta”字段,当我更改它的值时,列表被过滤。

ng-model="queryLoc.citta"

首先,我要实例化变量

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

现在我想通过单击谷歌地图信息窗口内的按钮来设置 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'
}

但过滤器不起作用!我的想法也用完了,因为浏览器的控制台没有给我任何错误。

感谢您提供的任何帮助或提示。

【问题讨论】:

    标签: javascript angularjs google-maps google-maps-markers angularjs-ng-click


    【解决方案1】:

    已解决:

    只需要使用 $digest 并从这里转换代码:

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

    到这里:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-20
      • 2014-07-31
      • 2021-12-02
      • 2013-01-19
      • 2019-04-04
      • 1970-01-01
      • 2014-12-11
      • 2017-06-08
      相关资源
      最近更新 更多