在javascript调用函数参数中使用Angular

海鹰

我想在我的页面上显示每个地方(位置)的google maps。在我的HTML页面中,我具有google maps的功能。

<script> 
  function initialize(long,lat) {
    var mapCanvas = document.getElementById('map_canvas');
    var mapOptions = {
      center: new google.maps.LatLng(long, lat),
      zoom: 8,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(mapCanvas, mapOptions)
  }
  google.maps.event.addDomListener(window, 'load', initialize);
   document.getElementById('map_canvas').style.display='block'; 
</script>

我有显示地图的按钮。

 <div class="tab-pane" id="tab_b" ng-controller="LieuController as lieu">
       <div  class="list-group-item" ng-repeat="lieu in lieu.lieux ">
  <button onclick="initialize({{lieu.x}},{{lieu.y}})">Click me</button> 
    <div id="map_canvas"></div>
 </div>

那么是否可以像我一样使用参数来调用函数,或者还有其他方法吗?

dfsq

您的代码有几个问题。从技术上讲,可以像尝试的那样混合Angular和纯JavaScript DOM 0事件。然而..

1如果您已经尝试过自己的代码,那么在这种情况下,您应该已经看到了Angular引发的错误:

不允许对HTML DOM事件属性进行插值。

这样可以有效地防止在Angular世界代码之外使用Angular范围数据。尽管可以采取一种解决方法。您可以在某些属性中呈现必要的数据,然后使用它们。例如:

<button onclick="initialize(this.getAttribute('data-x'), this.getAttribute('data-y'))" 
        data-x="{{l.x}}" data-y="{{l.y}}">Click me</button>

2如果您解决上述问题,则仍然需要解决重复的ID问题。由于您的initialize函数应该在每ngRepeat单独的容器中渲染地图,因此每个容器都有id map_canvas同时,您在库onload事件中initialize再次调用该事件

google.maps.event.addDomListener(window, 'load', initialize);

3话虽这么说,您不应该使用如此不成功的设计来构建应用程序。您应该真正地理解AngularJS的主要概念和理念。

在您的情况下,您应该使用ng-click代替onclickinitialize在某种定制服务中定义,也许编写定制指令以在适当的容器中处理每个单独的地图呈现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Javascript中使用setTimeout从数组调用函数

来自分类Dev

如何在jQuery中使用参数调用JavaScript函数?

来自分类Dev

在JavaScript中使用可变数量的参数调用函数(类似于call())

来自分类Dev

使用收到的“参数”问题用“参数”调用javascript函数

来自分类Dev

Javascript:仅在函数中使用特定参数

来自分类Dev

使用Lambda在Java流中使用参数调用构造函数

来自分类Dev

在MVVM light SimpleIOC中使用参数调用构造函数

来自分类Dev

如何告诉PHP在函数调用中使用默认参数?

来自分类Dev

从Fortran中使用** int参数调用C函数

来自分类Dev

如何使用setTimeout参数调用javascript函数

来自分类Dev

Javascript:使用参数“ e”调用函数

来自分类Dev

使用函数中的参数调用JavaScript函数

来自分类Dev

在JavaScript函数中使用jQuery参数

来自分类Dev

在胶水:: glue调用中使用函数的未命名参数...

来自分类Dev

如何在php对象stdClass中使用参数调用函数?

来自分类Dev

如何在调用函数的javascript对象中使用此参数?

来自分类Dev

在ramda中使用相同的参数调用函数列表

来自分类Dev

在Django中使用HTML调用带有参数的Python函数

来自分类Dev

使用对象AND数组参数调用Javascript函数

来自分类Dev

使用PHP内部的参数调用Javascript函数

来自分类Dev

在JavaScript中使用参数调用函数时,如何更改变量?

来自分类Dev

如何在jQuery中使用参数调用JavaScript函数?

来自分类Dev

未在函数调用中使用的参数的模板参数推导

来自分类Dev

在javascript调用函数参数中使用Angular

来自分类Dev

使用超链接在Codeigniter中使用参数调用函数

来自分类Dev

在事件中使用参数调用函数

来自分类Dev

在JavaScript函数中使用无限参数

来自分类Dev

在 jQuery.on() 事件调用的现有 Javascript 函数中使用“this”作为参数

来自分类Dev

在 for 循环中使用参数调用 javascript 函数:有没有办法暂停循环?

Related 相关文章

  1. 1

    在Javascript中使用setTimeout从数组调用函数

  2. 2

    如何在jQuery中使用参数调用JavaScript函数?

  3. 3

    在JavaScript中使用可变数量的参数调用函数(类似于call())

  4. 4

    使用收到的“参数”问题用“参数”调用javascript函数

  5. 5

    Javascript:仅在函数中使用特定参数

  6. 6

    使用Lambda在Java流中使用参数调用构造函数

  7. 7

    在MVVM light SimpleIOC中使用参数调用构造函数

  8. 8

    如何告诉PHP在函数调用中使用默认参数?

  9. 9

    从Fortran中使用** int参数调用C函数

  10. 10

    如何使用setTimeout参数调用javascript函数

  11. 11

    Javascript:使用参数“ e”调用函数

  12. 12

    使用函数中的参数调用JavaScript函数

  13. 13

    在JavaScript函数中使用jQuery参数

  14. 14

    在胶水:: glue调用中使用函数的未命名参数...

  15. 15

    如何在php对象stdClass中使用参数调用函数?

  16. 16

    如何在调用函数的javascript对象中使用此参数?

  17. 17

    在ramda中使用相同的参数调用函数列表

  18. 18

    在Django中使用HTML调用带有参数的Python函数

  19. 19

    使用对象AND数组参数调用Javascript函数

  20. 20

    使用PHP内部的参数调用Javascript函数

  21. 21

    在JavaScript中使用参数调用函数时,如何更改变量?

  22. 22

    如何在jQuery中使用参数调用JavaScript函数?

  23. 23

    未在函数调用中使用的参数的模板参数推导

  24. 24

    在javascript调用函数参数中使用Angular

  25. 25

    使用超链接在Codeigniter中使用参数调用函数

  26. 26

    在事件中使用参数调用函数

  27. 27

    在JavaScript函数中使用无限参数

  28. 28

    在 jQuery.on() 事件调用的现有 Javascript 函数中使用“this”作为参数

  29. 29

    在 for 循环中使用参数调用 javascript 函数:有没有办法暂停循环?

热门标签

归档